保存.npy掩码数组到带有NaNs的.npy数组,其中mask==Tru

2024-06-17 15:24:54 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法把一个蒙面的三维纽比阵列转换成一个用NaNs代替掩模的纽比阵列吗?这样我就可以很容易地使用np.save写出numpy数组。另一种方法是找到一种方法写出屏蔽数组,并为被屏蔽的元素提供一些明确的指示符。我试过:

a = np.ma.zeros((500, 500))
a.dump('test')

但我需要文件的格式,以便它可以读到R。谢谢。在


Tags: 方法testnumpy元素savenpzeros数组
2条回答

扫描the masked array operations page会显示np.ma.filled执行了您要查找的内容。例如

import numpy as np

arr = np.arange(2*3*4).reshape(2,3,4).astype(float)
mask = arr % 5 == 0

marr = np.ma.array(arr, mask=mask)
print(np.ma.filled(marr, np.nan))

收益率

^{pr2}$

或者,可以使用掩码数组的^{} methodmarr.filled(np.nan)相当于{}。在

您可以将遮罩乘以数据,以便所有遮罩元素都等于零,例如:

a=np.random.rand(500,500)
b=ma.masked_greater(a, .5)
result=b.data*b.mask

然后可以使用

^{pr2}$

相关问题 更多 >