这使我生气了最后一个小时。我可以在使用时绘制直方图:
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/