python-3.x - Groupby pandas数据框并根据条件保留所有行
问题描述
我有一个熊猫数据框,如下所示:
import pandas as pd
df = pd.DataFrame({'col1':['abc', 'abc', 'abc', 'xyz', 'xyz', 'cd'], 'col2':['2020-02-01', '2020-02-01', '2020-01-01', '2020-01-01', '2020-05-01', '2020-06-01']})
df
col1 col2
0 abc 2020-02-01
1 abc 2020-02-01
2 abc 2020-01-01
3 xyz 2020-01-01
4 xyz 2020-05-01
5 cd 2020-06-01
我想要基于 col1 的 yo groupby 并保留 col2 最大值的所有行
我的预期结果:
col1 col2
0 abc 2020-02-01
1 abc 2020-02-01
4 xyz 2020-05-01
5 cd 2020-06-01
我尝试了下面的代码,但它只给了我 col2 最大值的行
df.sort_values('col2').groupby(['col1']).tail(1)
解决方案
推荐阅读
- typescript - 是否可以为输入是对象的可区分联合编写类型安全函数,该对象的键可区分其对应值
- mysql - MYSQL 试图返回重复值
- r - 寻找移位指数分布的起始值的问题
- python - 通过移动字母在数组中复制零以腾出空间
- sql - 使用特定代码选择不存在的数字
- javascript - 如何在 reactjs 中提供静态文件?
- c# - How can I read migrations files at runtime and apply them to my database in EF Core?
- mysql - Mysql查询用子句从另一个表中的值中减去表中列的总和
- javascript - 如何从数组中选择最高的 3 个字符串值
- asp.net-core - ajax.datatable列名如何定义数据名?我不断收到 ajax.datatable 的未知参数错误