説明
pandas.Series.sort_values など pandas.Series
の関数を使用する。
dummy_data.value_counts()
: Seriesデータに含まれる要素ごとの出現回数をカウントdummy_data.value_counts().index.values
: 各要素ごとの名前(indexの名前)の値を.values
から取得
コード
import matplotlib.pyplot as plt import numpy as np import pandas as pd %matplotlib inline # jupyter notebookを使用する場合 dummy_data = pd.Series([np.random.randint(0, 30) for i in range(1000)], index=["sampledata"+str(i) for i in range(1000)]) ind_vals = dummy_data.value_counts().values ind_names = dummy_data.value_counts().index.values # 各要素の名前 ind_N = dummy_data.value_counts().values.shape[0] # ユニークな要素の数 ind = np.arange(ind_N) # ラベルを配置するための配列 plt.figure(figsize=(10, 20)) plt.subplot(211) plt.bar(ind, ind_vals) plt.xticks(ind, ind_names, rotation=90) plt.tight_layout() plt.xlim(-1, ind_N+1) plt.subplot(212) plt.pie(ind_vals, labels=ind_names, startangle=0) plt.savefig("result.png")
結果