Counter()
文字列のセットの出現回数をカウントするために使用できる別の質問を見ました。だから私が持っているなら私は['A','B','A','C','A','A']
得るCounter({'A':3,'B':1,'C':1})
。しかし今、その情報を使用して、たとえばヒストグラムを作成するにはどうすればよいでしょうか?
質問する
59206 次
3 に答える
81
データについては、ヒストグラムの代わりに棒グラフを使用することをお勧めします。このコードをチェックしてください:
from collections import Counter
import numpy as np
import matplotlib.pyplot as plt
labels, values = zip(*Counter(['A','B','A','C','A','A']).items())
indexes = np.arange(len(labels))
width = 1
plt.bar(indexes, values, width)
plt.xticks(indexes + width * 0.5, labels)
plt.show()
結果:
于 2013-10-05T14:45:46.427 に答える
16
pandasを使用して、これを行うための非常に簡潔なコードを書くことができます。
import numpy as np
from pandas import Series
sample = np.random.choice(['a', 'b'], size=10)
s = Series(sample)
In [29]: s
Out[29]:
0 a
1 b
2 b
3 b
4 a
5 b
6 b
7 b
8 b
9 a
dtype: object
vc = s.value_counts()
In [31]: vc
Out[31]:
b 7
a 3
dtype: int64
vc = vc.sort_index()
In [33]: vc
Out[33]:
a 3
b 7
dtype: int64
c.plot(kind='bar')
その結果:
于 2013-10-05T14:54:16.113 に答える