我有一个df,其中有一些行,比如:
1 | FII 4440 | Faria Lima | 14° | Cascione, Pulino, Boulos
1 | FII 4440 | Faria Lima | 15° | Warrant
1 | FII 4440 | Faria Lima | 16° | Warrant
2 | Malls | São Paulo | N | None
3 | Malls | Cidade Jardim | N | None我需要输出如下所示:
1 | FII 4440 | Faria Lima | 14º, 15º, 16° | Cascione, Pulino, Boulos, Warrant
2 | Malls | São Paulo | N | None
3 | Malls | Cidade Jardim | N | None也就是说,对于相同的索引(第一列),它应该连接字符串而不是列的重复项。有人能帮我吗?
发布于 2020-04-25 01:41:04
您可以这样做:
df1 = df.groupby([0, 1, 2])[4].apply(','.join).reset_index()
df2 = df.groupby([0, 1, 2])[3].apply(','.join).reset_index()
df = df1.merge(df2)
print(df)
0 1 2 4 3
0 1 FII4440 FariaLima Cascione,Pulino,Boulos,Warrant,Warrant 14°,15°,16°
1 2 Malls SãoPaulo None N
2 3 Malls CidadeJardim None N发布于 2020-04-25 01:59:43
我注意到分组标准可以只是最左边的列。
假设列名为C0、C1、...,请尝试:
df.groupby('C0').agg(lambda grp: ', '.join(grp.unique())).reset_index()https://stackoverflow.com/questions/61413460
复制相似问题