19

与えられた:

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

これらの値の基本的なヒストグラムをプロットするにはどうすればよいですか?

これが私がmatplotlibで見たいもののASCIIバージョンです:

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

私は見るのにうんざりしています:

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

1 に答える 1

43

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
于 2013-01-10T00:33:02.837 に答える