使用Pandas Groupby连接多行中的字符串,并从逗号分隔的单元格中删除重复项

发布时间:2022-08-16 / 作者:清心寡欲
本文介绍了使用Pandas Groupby连接多行中的字符串,并从逗号分隔的单元格中删除重复项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下数据并尝试按唯一ID聚合,需要在各自列的一个单元格中获取唯一名称、唯一产品、唯一价格

Unique_id   Name    Product Price
101         ABC Ltd A       100
102         JKL Ltd B       200
101         ABC Ltd B       200
102         JKL US  B       200
103         IHJ Ltd A       100
102         JKL UK  C       300
103         IHJ US  A       100
101         ABC US  A       100

我可以获得以下代码,但它不符合我的要求。

df1 = df.groupby(' Unique_ID'').agg({'Product'  : 'first', ‘Price’  : 'first', 
          'Name’:'first'.join}).reset_index()
下面是我试图获得的输出,但我无法获得正确的代码。
Unique_id   Name               Product   Price
101         ABC Ltd, ABC US    A, B      100
102         JKL Ltd, JKL UK    B, C      200
103         IHJ Ltd, IHJ US    A         100

谢谢。

推荐答案

使用lambda对您当前的方法进行轻微修改:

print (df.groupby('Unique_id').agg({'Product': lambda d: ", ".join(set(d)),
                                    'Price' : 'first',
                                    'Name':lambda d: ", ".join(set(d))}).reset_index())

   Unique_id Product  Price                   Name
0        101     A,B    100         ABC Ltd,ABC US
1        102     C,B    200  JKL Ltd,JKL UK,JKL US
2        103       A    100         IHJ US,IHJ Ltd

这篇关于使用Pandas Groupby连接多行中的字符串,并从逗号分隔的单元格中删除重复项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持吉威生活!



[英文标题]Concatenate strings from multiple rows using Pandas groupby and remove duplicates from the comma separated cell


声明:本媒体部分图片、文章来源于网络,版权归原作者所有,如有侵权,请联系QQ:330946442删除。