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

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

f:id:HK29:20210912233407p:plain

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

f:id:HK29:20210912233824p:plain

■本プログラム

#!/usr/bin/env python
# coding: utf-8

# In[1]:


import pandas as pd

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


# In[2]:


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


# In[3]:


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


# In[ ]:

以上

<広告>