Neo*_*Neo 3 python dataframe python-3.x pandas
我希望将数据框中的多行合并为基于一列的单行
这就是我的 df 的样子:
id Name score
0 1234 jim 34
1 5678 james 45
2 4321 Macy 56
3 1234 Jim 78
4 5678 James 80
Run Code Online (Sandbox Code Playgroud)
我想根据“分数”列进行组合,因此输出如下所示:
id Name score
0 1234 jim 34,78
1 5678 james 45,80
2 4321 Macy 56
Run Code Online (Sandbox Code Playgroud)
基本上我想做爆炸功能的相反操作。如何使用 pandas 数据框实现此目的?
尝试agg用groupby
out = df.groupby('id',as_index=False).agg({'Name':'first','score':lambda x : ','.join(x.astype(str))})
Out[29]:
id Name score
0 1234 jim 34,78
1 4321 Macy 56
2 5678 james 45,80
Run Code Online (Sandbox Code Playgroud)