'21/07/09更新:カテゴリ変数をリスト化したり、数や平均値でソートする方法を追記しました。
本記事では、例えば下図のように「species」というカテゴリ変数を調べる雛形コードを載せました。例題に使用したデータは、機械学習でお馴染みのアイリスデータセットで本来は150行あります。しかし、本説明の便宜上、3つあるカテゴリ変数の個数を違う数にしたかったためにいくつか削除して135行にしています。

csvファイルはパンダスで読み込みます。
import pandas as pd
df = pd.read_csv('iris-dataset2.csv')
■1. カテゴリ変数の種類と数を調べたい場合
df.groupby('species').count()
すると、カテゴリは「setosa」「versicolor」「virginica」の3つあることがわかります。

■2. カテゴリ変数をリスト化したい場合
category_list = df.groupby('species').count().index.to_list()
print(category_list)

■3. 指定した列の数でソートしたい場合
count_sorted = df.groupby('species')['petal_width'].count().sort_values(ascending=True)

■4. 上記をリスト化したい場合
count_sorted_list = count_sorted.index.to_list()
print(count_sorted_list)

■5. 指定した列の平均値でソートしたい場合
grouped = df.groupby('species')['petal_width']
mean_sort = grouped.describe().sort_values('mean', ascending=True)
print(mean_sort)

このカテゴリ順にリスト化したい場合は、上記4と同じ処理をします。
以上
<広告>
リンク