问题标签 [masked-array]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
125 浏览

arrays - 使用 .filled() 取消屏蔽列表

我有一个蒙面list,例如:

这应该是一个数组,但是当我print(type(name_array))返回时<class 'list'>。我想揭露这个对象,就像是

但我当然不能这样做,因为:

如果我使用np.array(name_arrray)它返回一个ndarray不能.filled()

我想我在这里遗漏了一些基本的东西,有什么提示吗?

0 投票
1 回答
762 浏览

python - 反转“numpy.ma.compressed”操作

我想从压缩的掩码数组和相应的掩码中创建一个数组。用一个例子更容易解释这一点:

现在我想创建一个与 x 形状相同的数组,其中掩码值获得标准值(例如 -1),其余部分填充给定数组。它应该像这样工作:

问题是:有没有像“解压缩”这样的方法,还是我需要自己编码?在 Fortran 中,这是通过“pack”和“unpack”方法完成的。感谢您的任何建议。

0 投票
0 回答
300 浏览

python - 使用蒙版裁剪图像

我有一个图像,它的像素数组为[7981,7891]. 我通过插值为每个像素分配了一个纬度坐标。现在我想尝试剪下图像的一个正方形部分,以便我的其余代码只适用于这个小部分。这是我的掩蔽尝试:

我收到此错误:

ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()

我也尝试过使用np.ma.mask_where(),但无论我尝试什么,我都会得到一个[7981,7891]像素大小的掩码。知道我哪里出错了,为什么我的面具不起作用?需要更多信息让我知道!

0 投票
1 回答
513 浏览

python - python - 修改函数内掩码数组的一部分

我需要修改函数内的掩码数组的一部分,例如:

看起来很简单,但是...

这似乎与始终在数组的切片上设置的共享掩码有关,以便掩码作为副本传递给函数

我希望除了显式传递掩码、返回数据副本或传递带有索引的较大数组之外,可能有一些方法可以修复或绕过它。

0 投票
3 回答
9193 浏览

python - 从 skimage 轮廓创建蒙版

我有一张我发现轮廓的图像,skimage.measure.find_contours()但现在我想为完全超出最大闭合轮廓的像素创建一个蒙版。知道怎么做吗?

修改文档中的示例:

这是红色的轮廓:

在此处输入图像描述

但是如果放大,请注意轮廓不在像素的分辨率上。

在此处输入图像描述

如何创建与原始像素相同尺寸且像素完全位于外部(即未与轮廓线相交)的图像?例如

谢谢!

0 投票
6 回答
7087 浏览

python - 使用 NaN 计算 numpy 数组中的移动平均值

我正在尝试计算包含 NaN 的大型 numpy 数组中的移动平均值。目前我正在使用:

使用掩码数组计算时:

我正在寻找的结果(如下)理想情况下应该只在原始数组 x 有 NaN 的地方有 NaN,并且应该对分组中非 NaN 元素的数量进行平均(我需要一些方法来改变函数中 n 的大小。)

我可以遍历整个数组并按索引检查索引,但我使用的数组非常大,这需要很长时间。有没有一种 numpythonic 方法可以做到这一点?

0 投票
2 回答
3846 浏览

python - Python 帮助有条件地从另一个列表中使用“numpy.masked_where”

我正在写一个天文观测模拟。我有一个数据数组,每 24 小时进行 1 次测量:

我有一个数组,它是 24 小时内云/雨的分钟数,四舍五入到最接近的小时:

我想使用掩码数组根据天气数组中的值隐藏数据数组中的值。屏蔽对于进一步绘制和数据分析很重要(而不是删除)。

因此,如果我只想显示停机时间 < 120 分钟的数据点,我会这样做:

这应该导致:

但我的 data_masked 似乎在做相反的事情。如果我在同一轴上绘制我的数据和天气。我正在掩盖天气停机时间低于我的阈值的点。

我尝试反转似乎保留所有内容的运算符。有什么想法还是我错过了 numpy.ma 的要点?

谢谢!

0 投票
1 回答
161 浏览

python - 为什么 numpy sum 和 mean 函数的返回类型在使用掩码数组时表现不同?

调试 python 包我遇到了以下问题:

在我为 numpy mean 函数提供掩码数组的病态情况下,返回类型是一个掩码数组:

而如果我用相同的掩码数组提供 sum 函数,则返回类型是浮点数:

有没有人知道这种行为是否是有意的,如果是这样,背后的原因是什么?

使用 python 版本 2.7.12 和 Python 3.5.2 测试。

0 投票
1 回答
731 浏览

python - 绘制已使用 griddata 网格化的掩码数组

我有一个卫星数据的二维数组,以及两个对应的二维数组,给出每个像素的纬度和经度。

数据数组是一个掩码数组。

当我使用 pcolormesh 绘制它时,它看起来像这样:

在此处输入图像描述

我正在尝试将这些数据网格化到 0.25x0.25 度网格上。

然而,产生的情节是这样的: 在此处输入图像描述

似乎此错误与pcolormesh填充屏蔽值之间的空间有关。但我不确定如何解决这个问题。

谢谢

编辑:

我能够使用 scipy 版本的 griddata 来让它工作......但它的速度要慢得多,而且语法也更笨拙。我仍然希望能得到一些帮助,让上面的 mpl(?) 版本正常工作

在此处输入图像描述

0 投票
0 回答
45 浏览

python - 查找掩码 ndarray 的掩码中位数时的内存问题

我试图通过创建一个立方体(尺寸大于图像;60x3000x4000)来对齐 60 个图像,该立方体存储有关每个图像的信息以及它被移动了多少。然后,我通过查找任何 0 值的掩蔽立方体来组合它,然后找到沿 0 轴投影的掩蔽中位数。

但是,出于某种原因,无论我是针对 2 张图像还是 30 张图像,都需要很长时间才能找到蒙面中位数(约 30-40 分钟)。当我运行 60 张图像时,它只会说我的应用程序内存用完了。我曾尝试在 Mac OSx 和 Debian 系统上运行它,但存在同样的问题。

不知道如何解决这个问题。

我的代码的相关部分