首页 > 解决方案 > 基于列的 Pandas grouby 和 flatten

问题描述

考虑df这样的:

mode id
car 1_2fgg
car 1_2fgg
car 1_2fgg
car 1_2fgg
bike 2_344jd
car 2_344jd

我希望展平模式列以获取所有独特模式的列表 per id,例如:

id modes
1_2fgg car
2_344jd bike,car

我怎么能在熊猫中做到这一点?我假设 groupby id

标签: pythonpandas

解决方案


我们可以在这里使用GroupBy.uniquewith Series.str.join

df.groupby('id')['mode'].unique().str.join(',').reset_index()

        id      mode
0   1_2fgg       car
1  2_344jd  bike,car

推荐阅读