这使我生气了最后一个小时。我可以在使用时绘制直方图:

hist(df.GVW, bins=50, range=(0,200))

例如,当我需要为某一列中的给定条件过滤数据框时,请使用以下内容:
df[df.TYPE=='SU4']

到目前为止,一切正常。当我尝试获取此过滤数据的直方图时,出现一个关键错误:KeyError: 0L。我将以下内容用于过滤后的数据的直方图:
hist(df[df.TYPE=='SU4'].GVW, bins=50, range=(0,200))

某个地方有语法错误吗?谢谢您的帮助!

最佳答案

也许尝试使用.values属性(这会将数据作为numpy数组返回),所以:

hist(df[df.TYPE=='SU4'].GVW.values, bins=50, range=(0,200))

我认为这不起作用的原因是因为matplotlib hist方法尝试访问输入的第一个0 -index元素。但是因为Series使用其整数索引作为标签而不是位置,所以这会给切片的Series带来关键错误(因为第一个元素将不再具有0索引)

确实,正如@AndyHayden所说,您还可以使用pandas hist方法:
df[df.TYPE=='SU4'].GVW.hist(bins=50)

关于python - 过滤数据框的 Pandas 直方图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22492042/

10-12 22:17
查看更多