将组内的行合并在一起

Merge rows within a group together

我有一个 pandas DataFrame,其中一些行对具有相同的 ID 但名称不同。我想要的是将行对减少为一行,并显示他们的名字。

输入:

ID   NAME     AGE
149  Bob      32
150  Tom      53
150  Roberts  53
151  Pamela   28
152  Andrew   23

输出:

ID   NAME        AGE
149  Bob         32
150  Tom Roberts 53
151  Pamela      58
152  Andrew      23

否则,我也可以使用 ['Tom'、'Roberts'] 或任何其他仍能捕获数据的方法。

使用 groupby 轻松完成。

df.groupby('ID', as_index=False).agg({'NAME' : ' '.join, 'AGE' : 'first'})  

ID          NAME  AGE
149          Bob   32
150  Tom Roberts   53
151       Pamela   28
152       Andrew   23