我一直在Python中尝试使用np.all,我看过这里的文档:https://numpy.org/doc/stable/reference/generated/numpy.all.html
我期望下面的np.all语句的计算结果为:[对,对,对]和对,但他们没有。
我错过了什么?
我试过下面的代码:
import numpy as np
NA = float("NAN")
arrNA = np.array([[NA, NA, NA], [NA, NA, NA], [NA, NA, NA]])
print(np.all(arrNA == NA, axis=0))
#This prints [False, False, False], but every element in the np.array is equal to NA. Why not True?
print(np.all(arr == NA))
#This also prints false, but every element in the np.array is NA. Why not True?
1条答案
按热度按时间gwbalxhn1#
根据IEEE浮点标准,NaN不等于其自身:
所以当你写
arrNA == NA
时,你得到一个布尔数组,其中每个元素都是False
。如果要检查是否存在NaN值,可以使用
np.isnan
: