[英]Join groupby column with a comma in a Pandas DataFrame
我有一个这样的数据集:
>>> df = pd.DataFrame({'id_sin':['s123','s123','s124','s124'],
'raison':['first problem','second problem','album','dog']
})
>>> df
id_sin raison
0 s123 first problem
1 s123 second problem
2 s124 album
3 s124 dog
这是预期的输出:
id_sin raison
0 s123 first problem, second problem
1 s124 album, dog
我试过的:
df['raison'] = df.groupby('id_sin')['raison'].apply(lambda x: ', '.join(x))
但不起作用......我错过了什么? 感谢帮助!
尝试使用agg
:
df.groupby('id_sin')['raison'].agg(', '.join).reset_index()
输出:
id_sin raison
0 s123 first problem, second problem
1 s124 album, dog
尝试将组更改为列表:
df.groupby(['id_sin']).raison.apply(lambda x: ', '.join(list(x)))
在测试你的代码后,事实证明你不应该做df['raison'] =...
因为df.groupby('id_sin')['raison'].apply(lambda x: ', '.join(x))
长度为 2,其索引与df
索引不同,后者的索引长度为 4。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.