鉴于:
ser = Series(['one', 'two', 'three', 'two', 'two'])
如何绘制这些值的基本直方图?
这是我想在 matplotlib 中看到的 ASCII 版本:
X
X X X
-------------
one two three
我厌倦了看到:
TypeError: cannot concatenate 'str' and 'float' objects
您可以使用以下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