わかりましたので、データには '32'、'22'、'12'、'31'、'21'、'11' の 6 つの可能な値があります。これらを文字列として保存しています。Python でデータを並べ替えて、6 つのビンを作成し、それぞれのビンの数を表示することは可能ですか? または、ヒストグラムへの入力は数値でなければなりませんか?
質問する
11657 次
4 に答える
15
data = ['32', '22', '12', '32', '22', '12', '31', '21', '11']
dict((x, data.count(x)) for x in data)
結果
{'11': 1, '12': 2, '21': 1, '22': 2, '31': 1, '32': 2}
于 2012-10-31T11:48:55.607 に答える
7
の使用を検討しましたcollections.Counter
か?
# python 2.7
>>> l = ['32', '22', '12', '31', '21', '11', '32']
>>> import collections
>>> collections.Counter(l)
Counter({'32': 2, '11': 1, '12': 1, '21': 1, '22': 1, '31': 1})
于 2012-10-31T12:30:45.707 に答える
2
data = ['32', '22', '12', '32', '22', '12', '31', '21', '11']
sm = {i:0 for i in ['32', '22', '12', '31', '21','11']}
for i in data:
sm[i] += 1
print sm
このようなもの?
于 2012-10-31T11:46:21.810 に答える
0
data
がリストであり、ビン内の数を数えたいと仮定します。bins
辞書として使います。
bin = {'11': 0, '12': 0, '21': 0, '22': 0, '31': 0, '32': 0}
for element in data:
if element in bin: # Ignore other elements in data if any
bin[element] = bin[element] + 1
bins
辞書には、データリストの各要素の頻度が含まれます。bins
これで、グラフプロットライブラリを使用して棒グラフをプロットするために使用できます。この投稿を使用して、棒グラフをプロットするためのmatplotlibの使用法を確認できるかもしれません。
于 2012-10-31T11:53:11.643 に答える