【发布时间】:2021-07-21 11:55:10
【问题描述】:
假设我有一个数据框
date,ent_id,val
2021-03-23,109,61
2021-03-12,104,64
2021-03-31,101,61
2021-03-30,103,64
2021-04-01,111,32
2021-04-01,153,39
2021-04-30,101,51
2021-04-30,103,53
2021-05-12,101,28
2021-05-07,103,26
2021-05-05,171,47
2021-05-05,183,61
2021-06-06,131,45
2021-06-06,133,78
2021-06-30,101,23
2021-06-30,103,31
我想找出当月的maximum available date
我知道如何在 sql 中做到这一点
max(date) over (partition by date_part(year,date),date_part(month,date))
但我无法在 pandas 中找到任何逻辑,或者是否有任何内置函数
所以输出会是这样的
date,ent_id,val,max_avl_d
2021-03-23,109,61,2021-03-31
2021-03-12,104,64,2021-03-31
2021-03-31,101,61,2021-03-31
2021-03-30,103,64,2021-03-31
2021-04-01,111,32,2021-04-30
2021-04-01,153,39,2021-04-30
2021-04-30,101,51,2021-04-30
2021-04-30,103,53,2021-04-30
2021-05-12,101,28,2021-05-12
2021-05-07,103,26,2021-05-12
2021-05-05,171,47,2021-05-12
2021-05-05,183,61,2021-05-12
2021-06-06,131,45,2021-06-30
2021-06-06,133,78,2021-06-30
2021-06-30,101,23,2021-06-30
2021-06-30,103,31,2021-06-30
【问题讨论】:
标签: python pandas numpy data-science