熊猫直方图忽略无效数据;极限x范围

时间:2019-05-06 23:39:07

标签: python pandas histogram

我有一个数据框,其中包含文本和数字数据,其中一些-999值表示丢失或无效的数据。作为一个玩具示例,让我们说它看起来像这样:

import pandas as pd
import matplotlib.pyplot as plt

dictOne = {'Name':['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth', 'Seventh', 'Eighth', 'Ninth'],
           "A":[1, 2, -3, 4, 5, -999, 7, -999, 9],
           "B":[4, 5, 6, 5, 3, -999, 2, 9, 5],
           "C":[7, -999, 10, 5, 8, 6, 8, 2, 4]}
df2 = pd.DataFrame(dictOne)

df2.hist('C', bins = 1000)
plt.xlim=([0, 10])

这给 enter image description here

我正在尝试排除-999值。熊猫有没有简单的方法可以做到这一点?

在我的示例代码中,为什么x轴不限于[0,10]范围?

2 个答案:

答案 0 :(得分:1)

您可以指定

而不是bins=1000
df2.hist('C', bins=range(0,10))

或者如果您想在中间对齐直方图框:

df2.hist('C', bins=np.arange(0.5,11,1))

输出:

enter image description here

答案 1 :(得分:0)

df2[df2['C'] > -999].hist('C')可以满足您的所有目的。无需指定1000个垃圾箱。