3 回答
开满天机
TA贡献1786条经验 获得超13个赞
您需要复制 A 以保留 A 中的值,请参阅:https : //docs.python.org/2/library/copy.html
在你的情况下,这将是
A=[[nan, 4, nan],[3 , 7 , 8],[nan, 23, nan]]
mask=np.array(A.copy())
mask[~np.isnan(A)] = 0
慕虎7371278
TA贡献1802条经验 获得超4个赞
使用A[~np.isnan(A)]:
from numpy import *
A=[[NaN, 4, NaN],[3 , 7 , 8],[NaN, 23, NaN]]
A = np.array(A)
A[~np.isnan(A)] = 0
print(A)
输出:
[[nan 0. nan]
[ 0. 0. 0.]
[nan 0. nan]]
月关宝盒
TA贡献1772条经验 获得超5个赞
您可以使用屏蔽数组,以便屏蔽那些不是的值np.nan,并使用以下内容填充屏蔽数组0:
A = np.array([[np.nan, 4, np.nan],[3 , 7 , 8],[np.nan, 23, np.nan]])
np.ma.masked_array(A, mask = ~np.isnan(A)).filled(0)
array([[nan, 0., nan],
[ 0., 0., 0.],
[nan, 0., nan]])
添加回答
举报
0/150
提交
取消