我有一个目前看起来像这样的数据框。我需要在id上组合两行。
id post date
0 10-1 Lorem ipsum dolor sit amet, consectetur adipiscing... 2012-01-28
1 10-1 Ut enim ad minim veniam, quis nostrud exercitation... 2012-01-28
预期结果如下:
id post date
0 10-1 Lorem ipsum dolor sit amet, consectetur adipiscing... 2012-01-28
我尝试过:
1) df = df.groupby(['id', 'post'])
2) df = df.groupby(['id', 'post']).first().reset_index();
3) df = df.groupby('id', 'post').agg({'post: sum'})
4) df = df.groupby('id')
df['id'].nunique()
5) df = df.groupby('id').agg(lambda x: x.tolist())
5让我最接近。当我运行它时,它会删除重复项,但不会聚合post列。我无法理解如何解决这个问题。在阅读完文档后,我不明白如何将两件事分组。
答案 0 :(得分:2)
你可以通过dict到dict,dict的key
是column
,而value
是你要对该列实现的功能。
df.groupby('id').agg({'post':'sum','date':'first'})