如何使用标称值在熊猫中绘制直方图?

时间:2013-01-10 00:05:43

标签: pandas histogram

假设:

ser = Series(['one', 'two', 'three', 'two', 'two'])

如何绘制这些值的基本直方图?

以下是我想在matplotlib中看到的ASCII版本:

     X
 X   X   X
-------------
one two three

我厌倦了看到:

TypeError: cannot concatenate 'str' and 'float' objects

1 个答案:

答案 0 :(得分:42)

您可以使用value_counts方法:

In [10]: ser.value_counts()
Out[10]: 
two      3
one      1
three    1

然后plot this as a bar chart

ser.value_counts().plot(kind='bar')

编辑:我注意到这没有保持所需的顺序。如果您有此订单的列表/系列(在这种情况下ser[:3]会这样做),您可以在绘制之前reindex

In [12]: ser.value_counts().reindex(ser[:3])
Out[12]: 
one      1
two      3
three    1