如何用nan绘制直方图?

时间:2019-02-10 10:57:11

标签: python

我想用包含nan值的数据绘制直方图。

import matplotlib.pyplot as plt
plt.hist([nan, 0.038173986947958476], 100)
plt.show()

它给了我这个错误:

    data=[0.0453100745718402, nan]
NameError: name 'nan' is not defined

2 个答案:

答案 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才能起作用。)