python - 获取与每个 ID 关联的最小日期的行
问题描述
我有一个带有多个 ID 的 pandas 数据框,并且在其他列中我有一个日期列说:'date1'。我想获取与所有 ID 关联的最小日期的所有行。其他列值也应保留。
我有的:
ID date1 value
1 1/1/2013 a
1 4/1/2013 a
1 8/3/2014 b
2 11/4/2013 a
2 19/5/2016 b
2 8/4/2017 b
我想要的输出:
ID date1 value
1 1/1/2013 a
2 11/4/2013 a
谢谢
解决方案
假设您有 IDID
和日期DATE
:
df.groupby('ID')['DATE'].min()
按您的 ID 分组,然后选择每个组中的最小值。返回一个系列。如果您想要一个数据框,请调用_.reset_index()
输出。
如果您只想选择最少的行,我会将输出设置为键,new_df.join(old_df.set_index(['ID', 'DATE'])
而不是处理一些基于索引的恶作剧。
推荐阅读
- angular - ngx-datatable date sorting by Year ANGULAR 8
- c++ - G++ 编译器无法识别 SQLAPI.h 头文件
- python - 如何根据 Django CMS 中的区域动态更改标题中的链接标签
- deployment - Jboss 7.2 中的部署顺序
- c# - 使用 C# & SQL WHERE 子句删除 SQL 表记录
- java - 在 HashSet 迭代上动态创建 javafx 按钮。如何为每个按钮创建单独的 actionEvent?
- python - 在 pandas 中过滤混合 dtype 列会导致错误
- python - Custom Transformers work individually but breaks down when combining them into one Pipeline
- python - 你能抹去乌龟用python写的文字吗
- google-cloud-platform - 如何查看我的 Node.js Cloud Function 环境的文件系统性质?