Python 如何按多个列分组并使用分隔符折叠列?

Python 如何按多个列分组并使用分隔符折叠列?,python,pandas,dataframe,Python,Pandas,Dataframe,我想按多个列分组,并用分隔符逗号折叠另一列 mydataframe x2 我想要这样的输出 我的代码在下面,有人能告诉我怎么做吗 x2.groupby(['ID','CUSTOMER_ID','PERIOD'])['CODE'].apply(','.join).reset_index() 似乎您尝试的主要问题是当前的列类型,在聚合时尝试将其转换为字符串(或者在聚合之前,其他答案比我更好) 那么: x2.groupby(['ID','CUSTOMER_ID','PERIOD'], as_in

我想按多个列分组,并用分隔符逗号折叠另一列

mydataframe x2

我想要这样的输出

我的代码在下面,有人能告诉我怎么做吗

x2.groupby(['ID','CUSTOMER_ID','PERIOD'])['CODE'].apply(','.join).reset_index()

似乎您尝试的主要问题是当前的列类型,在聚合时尝试将其转换为字符串(或者在聚合之前,其他答案比我更好)

那么:

x2.groupby(['ID','CUSTOMER_ID','PERIOD'], as_index= False)['CODE'].agg(lambda x:','.join(x.astype(str).tolist()))

似乎您尝试的主要问题是当前的列类型,在聚合时尝试将其转换为字符串(或者在聚合之前,其他答案比我更好)

那么:

x2.groupby(['ID','CUSTOMER_ID','PERIOD'], as_index= False)['CODE'].agg(lambda x:','.join(x.astype(str).tolist()))

使用
agg
而不是
apply
来聚合代码上聚合为
join
的行。使用
agg
而不是
apply
来聚合代码上聚合为
join
的行。