我想用包含nan值的数据绘制直方图。
import matplotlib.pyplot as plt
plt.hist([nan, 0.038173986947958476], 100)
plt.show()
它给了我这个错误:
data=[0.0453100745718402, nan]
NameError: name 'nan' is not defined
答案 0 :(得分:0)
我认为您应该将numpy导入为np才能使用np.nan 但是,由于np.nan超出范围,您仍然无法正确绘制该图。 您可以在hist方法中添加range = [0,5]之类的内容,也许它会显示您想要的内容,但我认为最好先清除数据以消除nans
答案 1 :(得分:0)
您可以使用any()
仅选择有效的条目。对于给定的数组numpy.isnan()
,您可以使用A
选择有效的条目,并使用A[~np.isnan(A)]
绘制直方图。
(我认为plt.hist(A[~np.isnan(A)], 100)
条目必须是nan
才能起作用。)