Python 2列からなるデータに対して、カテゴリ別にデータをリストで抽出する「pandasのgroupby×apply」

 下図のような2列のデータがあります。No列には数値、Label列には A, B, Cという3つのカテゴリがあります。ここで、A, B, Cそれぞれに属している数字を抽出したい場合の雛形コードを載せました。

f:id:HK29:20210912233407p:plain

 本プログラムを実行すると、下図のようにA, B, Cに属している数字を「リスト」で抽出することができます。

f:id:HK29:20210912233824p:plain

■本プログラム

import pandas as pd

df = pd.read_csv('test_data.csv')
print(df)

df2 = df.groupby('Label')['No'].apply(list)
print(df2)

for index, no_list in zip(df2.index, df2):
    print(index, no_list)

以上

<広告>