Pandas:如何使用 groupby 连接字符串
您可以使用以下基本语法来连接 pandas 中 GroupBy 中的字符串:
df. groupby ([' group_var '], as_index= False ). agg ({' string_var ': ' ' .join })
此特定公式按group_var列对行进行分组,然后连接string_var列中的字符串。
以下示例展示了如何在实践中使用此语法。
示例:如何使用 GroupBy 连接字符串
假设我们有以下 pandas DataFrame:
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 中执行其他常见操作: