我有以下数据框。
0dc971f49c42ffb1412caee485f8421a1f9a26ed
我想按ID连接行。 以下是结果示例。 (数量列是可选的。此列不是必需的。)
ID Product quantity
9626 a 1
9626 b 1
9626 c 1
6600 f 1
6600 a 1
6600 d 1
我使用了合并和求和,但是没有用。
这个问题只能通过循环语句解决吗?
如果您能为我提供解决方案,我将不胜感激。
答案 0 :(得分:5)
使用groupby.agg
:
df = (df.sort_values('Product')
.groupby('ID', as_index=False, sort=False)
.agg({'Product':','.join, 'quantity':'sum'}))
print(df)
ID Product quantity
0 9626 a,b,c 3
1 6600 a,d,f 3