问题标签 [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.
python - 在多个维度上平均 numpy 掩码数组
可以在多个维度上计算 numpy 数组的平均值,例如。my_ndarray.mean(axis=(1,2))
.
但是,它似乎不适用于掩码数组:
如何计算多轴上掩码数组的平均值,最好与普通数组一样简单?
(我宁愿使用不暗示定义新功能的解决方案,如this answer中所建议的那样。)
python - 我在使用 numpy searchsorted 时做错了什么?
这在 numpy.searchsorted 中是一种有趣的行为。以下测试失败:
数组中的最后一个条目c
是 34,我不知道为什么。但是类似的,它通过了:
在numpy.array.searchsorted
文档中,它的描述说:
找到排序数组 a 中的索引,这样,如果 v 中的相应元素插入到索引之前,则 a 的顺序将被保留。
python - 无符号整数 dtype 的掩码数组上的 np.ma.argmax 在 numpy 1.11.0 中返回错误结果
我偶然发现了一个关于屏蔽无符号整数数组和np.ma.argmax
.
考虑以下数组:
如果我使用np.ma.argmax
结果是我所期望的:
如果我现在屏蔽最后一行,结果是错误的:
它现在认为被屏蔽的行是最大值?我什至将其更改fill_value
为 0,但结果保持不变:它仍然认为被屏蔽的行是最大值。似乎这只影响无符号整数数组。
但是np.ma.MaskedArray.argmax
并np.argmax
返回正确的结果:
为什么np.ma.argmax
这里没有做正确的事情?据我所知,它被定义为方法本身。
numpy - 结构化掩码数组上的高级索引何时*真的*返回副本?
当我有一个带有布尔索引的结构化掩码数组时,在什么情况下可以获得视图以及何时获得副本?文档说高级索引总是返回一个副本,但这不是真的,因为X[X>0]=42
技术上高级索引之类的东西,但分配有效。我的情况比较复杂:
我想根据另一个字段的标准设置特定字段的掩码,因此我需要获取该字段,应用布尔索引并获取掩码。有3个!= 6 次这样做。
准备:
字段 - 索引 - 掩码(失败):
/li>索引 - 字段 - 掩码(失败):
/li>索引 - 掩码 - 字段(失败):
/li>掩码 - 索引 - 字段(失败):
/li>字段 - 掩码 - 索引(成功):
/li>掩码 - 字段 - 索引(成功):
/li>
所以,看起来索引必须排在最后。
python - 用“孔”(掩码数组)对数组进行插值
我有一组非网格点和一个带有孔的网格 - 由一个包含 NaN 的数组表示(一个掩码数组?)。我试图将非网格点“映射”到这个网格上,然后在网格上进行插值,NaN 区域作为边界。
griddata 可以很好地插入此数据,但会忽略 NaN 值,并且 NaN“墙”一侧的值会影响另一侧的值。(我希望这是有道理的)。
有谁知道是否有任何方法可以强制 griddata 以 NaN 作为边界,并且不允许 NaN 区域一侧的点影响另一侧?
到目前为止,我可以得到这个:
左图是在非屏蔽数组上执行的网格数据,右图是在屏蔽数组上执行的网格数据。我希望不要看到插值穿过蒙版区域。
这是一个简化的示例,我的蒙版阵列实际上有点复杂(网格/阵列中有一组空白岛或“孔”),因此不能真正孤立地处理部分(就像在这个例子)。
这是我到目前为止所拥有的:
任何帮助将不胜感激!
FP
python - numpy.ma(屏蔽)数组均值方法的返回类型不一致
我注意到numpy masked-array mean 方法可能不应该返回不同的类型:
其他numpy.ma.core.MaskedArray
方法似乎是一致的
有人可以解释一下吗?
更新:正如评论中指出的那样
python - 如何正确屏蔽 numpy 二维数组?
假设我有一个二维坐标数组,看起来像
x = array([[1,2],[2,3],[3,4]])
到目前为止,在我之前的工作中,我生成了一个面具,最终看起来像
mask = [False,False,True]
当我尝试在 2D 坐标矢量上使用此蒙版时,出现错误
我想这是有道理的。所以我尝试简单地使用以下掩码:
我得到的很接近:
>>>array([1,2,2,3])
达到我的期望(和想要):
>>>array([[1,2],[2,3]])
必须有一个更简单的方法来做到这一点?
python - 替换掩码 numpy 数组中的值不起作用
我知道了。numpy 中的掩码数组称为 arr,形状为 (50, 360, 720):
它有以下特点。arr[0] 中的数据:
-999。是缺失值,我想用 0.0 替换它。我这样做:
但是,即使在此操作之后,arr 仍然保持不变。如何解决这个问题?
python - python花式索引与布尔掩码数组
我有一个 numpy 掩码的数据数组:
我有一个特定类型数据的标志,它是一个布尔掩码数组:
我想做类似的事情data[flag]
并获得以下输出:
它对应于标志为 True 的数据元素。相反,我得到了这个:
为了更清楚,我没有复制输出的掩码。
我不介意输出带有标志大小的输出,只要它选择我想要的数据(对应于标志的 True 值的数据)。但我无法弄清楚为什么它会在实际输出中给出这些值!