如何打开以下输入数据(从Excel文件馈送的Pandas数据框):
ID Category Speaker Price
334014 Real Estate Perspectives Tom Smith 100
334014 E&E Tom Smith 200
334014 Real Estate Perspectives Janet Brown 100
334014 E&E Janet Brown 200
Run Code Online (Sandbox Code Playgroud)
到这个:
ID Category Speaker Price
334014 Real Estate Perspectives Tom Smith, Janet Brown 100
334014 E&E Tom Smith, Janet Brown 200
Run Code Online (Sandbox Code Playgroud)
因此,我想按类别分组,将发言人串联起来,但不汇总价格。
我对Pandas dataframe.groupby()和尝试了不同的方法.agg(),但无济于事。也许有更简单的纯Python解决方案?
有2种可能的解决方案-通过多个列进行聚合,并且join:
dataframe.groupby(['ID','Category','Price'])['Speaker'].apply(','.join)
Run Code Online (Sandbox Code Playgroud)
或者只需要汇总Price列,则必须通过first或汇总所有列last:
dataframe.groupby('Price').agg({'Speaker':','.join, 'ID':'first', 'Price':'first'})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1197 次 |
| 最近记录: |