合并组中的行

Lan*_*ter 2 python group-by dataframe pandas pandas-groupby

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

输入:

ID   NAME     AGE
149  Bob      32
150  Tom      53
150  Roberts  53
151  Pamela   28
152  Andrew   23
Run Code Online (Sandbox Code Playgroud)

输出:

ID   NAME        AGE
149  Bob         32
150  Tom Roberts 53
151  Pamela      58
152  Andrew      23
Run Code Online (Sandbox Code Playgroud)

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

cs9*_*s95 5

轻松完成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
Run Code Online (Sandbox Code Playgroud)

  • 说真的,我想不出一个甚至接近这个好处的替代方案。 (2认同)