gpt4 book ai didi

python - 使用 bool 数组掩码,将 False 值替换为 NaN

转载 作者:太空狗 更新时间:2023-10-29 21:39:31 26 4
gpt4 key购买 nike

我有两个数组,

a = array([
[ 0.93825418, 0.60731973, 0.44218921, 0.90888805, 0.97695114],
[ 0.27422807, 0.75870153, 0.12154102, 0.89137678, 0.04257262],
[ 0.32855867, 0.17215507, 0.00302302, 0.95395069, 0.02596567],
[ 0.18385244, 0.09108341, 0.27925367, 0.0177183 , 0.41035188],
[ 0.87229432, 0.73573982, 0.98554476, 0.72321398, 0.98316711],
[ 0.16474265, 0.5308054 , 0.27913615, 0.59107689, 0.6480463 ],
[ 0.88356436, 0.22343885, 0.74900285, 0.43895017, 0.74993129],
[ 0.08097611, 0.48984607, 0.33991052, 0.06431022, 0.10753135],
[ 0.67351561, 0.13165046, 0.41327765, 0.21768539, 0.7337069 ],
[ 0.65609999, 0.06241059, 0.3400624 , 0.13234171, 0.23679716]
])

b = array([
[False, True, True, False, False],
[ True, False, False, False, False],
[ True, True, False, False, False],
[False, False, True, False, True],
[False, False, False, True, False],
[False, True, True, True, True],
[False, True, False, True, True],
[False, True, True, False, False],
[ True, True, True, True, True],
[ True, False, True, False, True]
], dtype = bool)

现在我想使用 b 来屏蔽 a,保留 a 中的 True 值,并替换False 值为 NaN,得到一个形状类似于 a 的新数组。

怎么做?

最佳答案

您可以使用 boolean indexing :

a[~b] = np.nan

这会将 a 中与掩码 b 中的 False 值对应的所有值替换为 np.nan:

>>> a
array([[ nan, 0.60731973, 0.44218921, nan, nan],
[ 0.27422807, nan, nan, nan, nan],
[ 0.32855867, 0.17215507, nan, nan, nan],
[ nan, nan, 0.27925367, nan, 0.41035188],
[ nan, nan, nan, 0.72321398, nan],
[ nan, 0.5308054 , 0.27913615, 0.59107689, 0.6480463 ],
[ nan, 0.22343885, nan, 0.43895017, 0.74993129],
[ nan, 0.48984607, 0.33991052, nan, nan],
[ 0.67351561, 0.13165046, 0.41327765, 0.21768539, 0.7337069 ],
[ 0.65609999, nan, 0.3400624 , nan, 0.23679716]])

关于python - 使用 bool 数组掩码,将 False 值替换为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31943391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com