groupbyでカンマ区切りのデータを一つずつ要素として取り出し、配列に格納したい
- 環境
macOS Mojave
Python 3.7.3
Jupyter Notebook 6.0.0
- やりたいこと
以下のように、[data]の各行に単一またはカンマ区切りで複数のデータがあります。
[No]をキーとしたgroupbyで、[data]のデータを一つずつ取り出して配列を作りたいです。
-- 期待するアウトプット(list型でもSeries型でも構いません)
No
1 [a, a, b, 1, 2, 3]
2 [a, aa, bb, 1]
- やったこと
以下のコードを実行しましたが、カンマ区切りの複数データを分割して単一の要素として配列に格納することができません。
import pandas as pd
df = pd.read_excel('/Users/USER/Desktop/dataframe.xlsx')
df = df.astype({'data': 'str'})
def singlelabel_generator(group):
group_ = group['data'].values
elements_list = [el.strip(', ') for el in group_]
return elements_list
elements_list = df.groupby('No').apply(singlelabel_generator)
for el_check in elements_list:
print(el_check)
# 出力結果
# ['a', 'a,b', '1', '2', '3'] <-'a,b'が'a', 'b'に分割されていない
# ['a', 'aa,bb', '1'] <-'aa,bb'が'aa', 'bb'に分割されていない