将组中的行合并在一起

时间:2017-10-08 21:07:55

标签: python pandas dataframe group-by pandas-groupby

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

INPUT:

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']或任何其他仍然捕获数据的方法。

1 个答案:

答案 0 :(得分:2)

使用groupby轻松完成。

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

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