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

熊猫分组但保留另一列

熊猫分组但保留另一列

米脂 2021-10-10 14:00:33
假设我有一个看起来像这样的数据框            date                                      location  year 0    1908-09-17                           Fort Myer, Virginia  1908 1    1909-09-07                       Juvisy-sur-Orge, France  1909 2    1912-07-12                     Atlantic City, New Jersey  1912 3    1913-08-06            Victoria, British Columbia, Canada  1912我想使用 pandas groupby 函数来创建一个输出,该输出显示每年的事件总数,但同时保留将显示当年位置之一的位置列。任何一个工作。所以它看起来像这样:       total  location year                 1908     1    Fort Myer, Virginia 1909     1    Juvisy-sur-Orge, France 1912     2    Atlantic City, New Jersey这可以在不进行时髦加入的情况下完成吗?我能得到的最远的是使用普通的 groupbydf = df.groupby(['year']).count()但这只会给我这样的东西               locationyear                1908     1         11909     1         11912     2         2如何显示此数据框中的位置之一?
查看完整描述

1 回答

?
子衿沉夜

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

您可以使用groupby.agg和 用于'first'提取每个组中的第一个位置:


res = df.groupby('year')['location'].agg(['first', 'count'])


print(res)

#                           first  count

# year                                  

# 1908        Fort Myer, Virginia      1

# 1909    Juvisy-sur-Orge, France      1

# 1912  Atlantic City, New Jersey      2


查看完整回答
反对 回复 2021-10-10
  • 1 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号