Python中的数据操作

Python中的数据操作,python,python-3.x,pandas,Python,Python 3.x,Pandas,我处理的数据集具有以下字段: ID Person_Name Person_Country 110 Marc CA 110 Sean CN 111 Matt IN 111 Rob AU 112 Mike US 我打算按以下方式对数据进行分组: ID Person_Name Person_Country 110 Marc; Sean CA; CN 111 Matt; Rob IN; AU 112 Mike US 我尝试使用内置函数,如.pi

我处理的数据集具有以下字段:

ID  Person_Name Person_Country
110 Marc    CA
110 Sean    CN
111 Matt    IN
111 Rob     AU
112 Mike    US
我打算按以下方式对数据进行分组:

ID  Person_Name Person_Country
110 Marc; Sean  CA; CN
111 Matt; Rob   IN; AU
112 Mike        US

我尝试使用内置函数,如.pivot_table()和.unstack(),但它们没有帮助,因为我处理的是非数字数据。

Small note:给列命名时使用空格通常不是一个好主意。这让他们很难阅读:名字是第三栏吗?哦,不,它是第二列名称的一部分。相反,使用点或下划线作为分隔符。
df.groupby('ID').agg(';'.join)
或者如果要明确说明列名:
df.groupby('ID')[[['Person Name','Person Country']].agg(';'.join)
。此示例无法利用
apply
,它需要
agg
来实现所需的结果。@BramVanroy-谢谢,实现了您的建议@user2285236-我尝试了这种方法,参考了类似的问题,但它返回的是列名,而不是连接在一起的名称。