为了账号安全,请及时绑定邮箱和手机立即绑定

python groupby 然后一些列保留在前面,其他列保留在最后

python groupby 然后一些列保留在前面,其他列保留在最后

jeck猫 2023-07-11 16:54:37
我有一个数据框,如下所示:cityid    personid    yearstart monthstart yearend monthend  1          1           2000       01        2001    021          1           2001       02        2001    101          2           2001       10        2002    102          3           2000       01        2002    122          4           2005       08        2006    12由于person 1incity 1连续有两个术语,我想将这两行组合起来并得到:cityid    personid    yearstart monthstart yearend monthend  1          1           2000       01        2001    101          2           2001       10        2002    102          3           2000       01        2002    122          4           2005       08        2006    12所以每一行都有一个唯一的键 {cityid, personid}。我试过df = df.groupby['cityid','personid'].['yearstart','momthstart'].first()['yearend, monthend'].last()但收到错误消息。我能问一下如何解决这个问题吗?谢谢!
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您可以使用agg:


(df.groupby(['cityid','persionid'])

   .agg({'yearstart':'first',

         'monthstart':'first',

         'yearend':'last',

         'monthend':'last'})

)

  


查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 63 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信