问题标签 [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 投票
3 回答
2709 浏览

python - Numpy 掩码数组修改

目前,我有一个代码检查数组中的给定元素是否等于 = 0,如果是,则将值设置为“级别”值(temp_board 是 2D numpy 数组,indices_to_watch 包含应该观察为零的二维坐标)。

我想将其转换为更类似于 numpy 的方法(删除 for 并仅使用 numpy 函数)以加快速度。这是我尝试过的:

但不幸的是,当 put() 想要具有一维维度时,掩码数组(完全奇怪!),是否有其他方法可以更新等于 0 并具有具体索引的数组元素?

或者也许使用掩码数组不是要走的路?

0 投票
1 回答
1700 浏览

python - 如何屏蔽多列上的 numpy 结构化数组?

我有一个带有 dtype 的 numpy 结构化数组,例如:

我知道我可以创建一个面具,例如:

有没有办法在多列上创建掩码?例如(我知道这不起作用,但我希望它起作用):

0 投票
1 回答
2016 浏览

python - 如何在 Numpy 中屏蔽记录数组的元素?

我了解如何创建屏蔽数组,并且我想在记录数组中使用屏蔽,以便可以使用命名属性访问这些数据。当我从屏蔽数组创建记录数组时,屏蔽似乎“丢失”了:

当我访问记录时,数据不会被屏蔽:

与原始数组不同:

我能做些什么?记录数组不支持屏蔽吗?在网上浏览时,我看到了一些代码示例,这些示例似乎另有说明,但不是很清楚。希望我能在这里得到一个好的答案。

0 投票
1 回答
311 浏览

numpy - 屏蔽阵列上的 RBF 内核

我想知道是否有办法计算 numpy 掩码数组的高斯核?

我进口:

如果使用掩码数组并将其作为rbf_kernelscikit learn 包函数的输入,则结果不是掩码数组。似乎所有成对的距离都是计算出来的,而不管它们中的一些被掩盖了!

0 投票
1 回答
3340 浏览

python - 始终使用 netCDF4 生成掩码数组

问题:

有没有办法强制netCDF4总是输出一个掩码数组,不管它切片是否包含任何填充值?

背景:

随着时间的推移,我使用netCDF4包读取了网格上的值的 netCDF 数据集。

nc_data = netCDF4.Dataset('file.nc', 'r')

初始时间步产生掩码数组:

后面的时间步产生标准ndarrays

期望的结果:

我希望后者使用掩码为 all 的掩码数组False,而不是标准的 ndarray。

0 投票
1 回答
74 浏览

python - 掩码数组的 `fill_value` 有什么实际影响(如果有)?

当显示 aMaskedArray时,我被告知数据、掩码和填充值。当然,数据和掩码非常重要。但是填充值有什么实际意义呢?我什至可以更改它,但我为什么要这样做——填充值不只是一个没有实际影响的实现细节吗?

换句话说:对fill_value不直接寻址的任何代码有任何影响fill_value吗?

0 投票
1 回答
1050 浏览

python - 在 Numpy 中切片蒙版数组时如何保留蒙版?

当我创建一个 Numpy 掩码数组的视图(通过切片)时,掩码被复制到视图中——因此对视图的更新不会更改原始掩码(但会更改原始数组中的数据)。

我想要的是在更新视图时同时更改原始数据原始掩码。

Numpy 文档

访问切片时,输出是一个掩码数组,其数据属性是原始数据的视图,其掩码是 nomask(如果原始数组中没有无效条目)或原始相应切片的副本面具。需要副本以避免将掩码的任何修改传播到原始文件。

例子

如您所见,原始数组中的数据已更新,但掩码没有。

如何使视图中的更新影响原始数组中的掩码?

0 投票
0 回答
508 浏览

python - numpy python中是否有“maskna”和“skipna”

我一直在网上搜索 Python Numpy 数组中的 NaN,发现一些我无法重现的东西。我正在使用带有 numpy.version.version == 1.10.4 的 Anaconda 发行版

只会让我“无法导入 NA”。这个 NA 模块在另一个stackoverflow 线程中提到

这个相同的链接也提到masknaskipna作为 NumPy 参数。

或者,大多数数组构造函数(从 1.7 开始)都有参数maskna,您可以将其设置为 True

来自scypy.org的文档也支持此声明

但是当我再次尝试这个时,我只会得到一个错误:

给了我一个鼓舞人心的“TypeError:'maskna' 是这个函数的无效关键字参数”

到底是怎么回事?我在寻找一个已停产的功能吗?这是否被 nansum()、nanmean() 等取代。但文档是 1.10.1,距离 1.10.4 不远。

我怎样才能让它工作?

0 投票
1 回答
949 浏览

python-2.7 - 如何在 Python 中对 DataFrame 应用掩码?

我的名为 ds_f 的数据集是一个 840x57 矩阵,其中包含 NaN 值。我想用线性回归模型预测一个变量,但是当我尝试拟合模型时,我收到这条消息“SVD 没有收敛”:

因此,我一直在寻找将掩码应用于 DataFrame 的答案。虽然我正在考虑创建一个掩码来“忽略”NaN 值,然后将其转换为 DataFrame,但我得到了与 ds_f 相同的 DataFrame,没有任何变化:

编辑:我已经通过编写 model=sm.OLS(X,y,missing='drop') 解决了这个问题,但是当我显示结果时出现了一个新问题,我只得到 NaN:

结果显示

0 投票
1 回答
41 浏览

python - 在 `masked_array` 上调用 `numpy.where`

这是一个例子:

预期输出:

实际输出:

我怎样才能达到预期的输出?谢谢!:)