繁体   English   中英

在 Pandas DataFrame 中用逗号连接 groupby 列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM