パンダ: groupby を使用して文字列を連結する方法
次の基本構文を使用して、パンダの GroupBy からの文字列を連結できます。
df. groupby ([' group_var '], as_index= False ). agg ({' string_var ': ' ' .join })
この特定の式は、 group_var列ごとに行をグループ化し、 string_var列の文字列を連結します。
次の例は、この構文を実際に使用する方法を示しています。
例: GroupBy を使用して文字列を連結する方法
次のパンダ データフレームがあるとします。
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
' quarter ': [1, 1, 2, 2, 1, 1, 2, 2],
' employee ': ['Andy', 'Bob', 'Chad', 'Diane',
'Elana', 'Frank', 'George', 'Hank']})
#view DataFrame
print (df)
次の構文を使用して、DataFrame の行を店舗および四半期ごとにグループ化し、従業員列の文字列を連結できます。
#group by store and quarter, then concatenate employee strings
df. groupby ([' store ', ' quarter '], as_index= False ). agg ({' employee ':''. join })
store quarter employee
0 To 1 Andy Bob
1 A 2 Chad Diane
2 B 1 Elana Frank
3 B 2 George Hank
結果は、従業員列文字列がスペースで連結された、店舗および四半期ごとにグループ化された DataFrame です。
&記号などの別の区切り文字を使用して文字列を連結することもできます。
#group by store and quarter, then concatenate employee strings
df. groupby ([' store ', ' quarter '], as_index= False ). agg ({' employee ':' & '. join })
store quarter employee
0 To 1 Andy & Bob
1 A 2 Chad & Diane
2 B 1 Elana & Frank
3 B 2 George & Hank
従業員列の文字列が&記号で区切られるようになったことに注意してください。
注: pandas での GroupBy 操作の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas: グループごとの累積合計を計算する方法
パンダ: グループごとに一意の値を数える方法
パンダ: グループごとの相関を計算する方法