首页 > 解决方案 > 合并具有相同标识符列的行 (PANDAS)

问题描述

我想组合具有相同 id 和变体的行。这是我预期的输入和输出我怎么能在熊猫中做到这一点?输入:

id company tag              variant
1  Adobe   ['hello','bye']  B
1  Adobe   ['gary,'tom']    B
1  Adobe   ['tim','john']   A
1  Adobe   ['fries,'salad'] A

输出:

id company tag                                variant
1  Adobe   ['hello','bye'],[['gary,'tom']]    B
1  Adobe   [['tim','john'],['fries,'salad']]  A

标签: pythonpandas

解决方案


agg

df.groupby(['id', 'variant'], as_index=False).agg({'company': 'first', 'tag': list})

   id variant company                            tag
0   1       A   Adobe  [[tim, john], [fries, salad]]
1   1       B   Adobe    [[hello, bye], [gary, tom]]

推荐阅读