按 pandas 数据框分组,并在每组中选择最新的 [英] group by pandas dataframe and select latest in each group

查看:100
本文介绍了按 pandas 数据框分组,并在每组中选择最新的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何分组熊猫数据框的值并从每个组中选择最新(按日期)?例如,给定一个按日期排序的数据框:

  id  

产品日期
0 220 6647 2014-09-01
1 220 6647 2014-09-03
2 220 6647 2014-10-16
3 826 3380 2014-11-11
4 826 3380 2014-12-09
5 826 3380 2015-05-19
6 901 4555 2014-09-01
7 901 4555 2014-10-05
8 901 4555 2014-11-01

按ID或产品分组,并选择最早给出的:

  id产品日期
2 220 6647 2014-10-16
5 826 3380 2015-05 -19
8 901 4555 2014-11-01


解决方案

groupby 和切片 df 中使用 idxmax loc

  df.loc [df.groupby('id') .date.idxmax()] 

id产品日期
2 220 6647 2014-1 0-16
5 826 3380 2015-05-19
8 901 4555 2014-11-01


How to group values of pandas dataframe and select the latest(by date) from each group?

For example, given a dataframe sorted by date:

    id     product   date
0   220    6647     2014-09-01 
1   220    6647     2014-09-03 
2   220    6647     2014-10-16
3   826    3380     2014-11-11
4   826    3380     2014-12-09
5   826    3380     2015-05-19
6   901    4555     2014-09-01
7   901    4555     2014-10-05
8   901    4555     2014-11-01

grouping by id or product, and selecting the earliest gives:

    id     product   date
2   220    6647     2014-10-16
5   826    3380     2015-05-19
8   901    4555     2014-11-01

解决方案

use idxmax in groupby and slice df with loc

df.loc[df.groupby('id').date.idxmax()]

    id  product       date
2  220     6647 2014-10-16
5  826     3380 2015-05-19
8  901     4555 2014-11-01

这篇关于按 pandas 数据框分组,并在每组中选择最新的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆