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 中执行其他常见操作:

Pandas:如何计算每组的累计和
Pandas:如何按组计算唯一值
Pandas:如何按组计算相关性

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注