gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 02:08:46 25 4
gpt4 key购买 nike

我有以下数据并试图通过唯一 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 - 使用 Pandas groupby 连接多行中的字符串,并从逗号分隔的单元格中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60597305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com