【发布时间】:2014-04-24 21:10:22
【问题描述】:
在过去的一个小时里,这一直让我发疯。使用时可以画直方图:
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))
某处是否存在语法错误?感谢您的帮助!
【问题讨论】:
-
考虑使用系列方法 hist 而不是...您正在使用的任何一个 (?)。我怀疑使用值会起作用,即
df[df.TYPE=='SU4'].GVW.values -
@AndyHayden 啊,同时发了。你应该把答案作为答案:-)
-
@AndyHayden 当我使用 values 属性时它确实有效。直觉上,我希望它可以在没有它的情况下工作。好吧,糟糕的直觉:)
-
@joris 哈哈!这更像是一个猜测而不是一个答案。 marillion:IMO 很奇怪/unpythonic, hist 关心这个并且不只是迭代它。
标签: python matplotlib pandas histogram