gpt4 book ai didi

python - 比较包含 NaN 的 numpy 数组

转载 作者:IT老高 更新时间:2023-10-28 20:30:39 25 4
gpt4 key购买 nike

对于我的单元测试,我想检查两个数组是否相同。简化示例:

a = np.array([1, 2, np.NaN])
b = np.array([1, 2, np.NaN])

if np.all(a==b):
print 'arrays are equal'

这不起作用,因为 nan != nan。最好的方法是什么?

最佳答案

对于 1.19 之前的 numpy 版本,这可能是不专门涉及单元测试的情况下的最佳方法:

>>> ((a == b) | (numpy.isnan(a) & numpy.isnan(b))).all()
True

但是,现代版本为 array_equal 函数提供了一个新的关键字参数 equal_nan,这完全符合要求。

这是由flyingdutchman首先指出的;见 his answer详情如下。

关于python - 比较包含 NaN 的 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10710328/

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