假设:
ser = Series(['one', 'two', 'three', 'two', 'two'])
如何绘制这些值的基本直方图?
以下是我想在matplotlib中看到的ASCII版本:
X
X X X
-------------
one two three
我厌倦了看到:
TypeError: cannot concatenate 'str' and 'float' objects
答案 0 :(得分:42)
您可以使用value_counts
方法:
In [10]: ser.value_counts()
Out[10]:
two 3
one 1
three 1
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