文字列のリストからヒストグラムを作成する方法 質問する

文字列のリストからヒストグラムを作成する方法 質問する

文字列のリストがあります:

a = ['a', 'a', 'a', 'a', 'b', 'b', 'c', 'c', 'c', 'd', 'e', 'e', 'e', 'e', 'e']

文字の頻度分布を表示するヒストグラムを作成したいと思います。次のコードを使用して、各文字の数を含むリストを作成できます。

from itertools import groupby
b = [len(list(group)) for key, group in groupby(a)]

ヒストグラムを作成するにはどうすればいいでしょうか? リストにはそのような要素が 100 万個ある可能性がありますa

ベストアンサー1

でとても簡単ですPandas

import pandas
from collections import Counter
a = ['a', 'a', 'a', 'a', 'b', 'b', 'c', 'c', 'c', 'd', 'e', 'e', 'e', 'e', 'e']
letter_counts = Counter(a)
df = pandas.DataFrame.from_dict(letter_counts, orient='index')
df.plot(kind='bar')

Counterは頻度をカウントしているので、プロット タイプは では'bar'ないことに注意してください'hist'

文字数のヒストグラム

おすすめ記事