首页 > 解决方案 > Pandas max dayofyear 逐年

问题描述

我有一个带有日期时间索引的数据框。同一天有多个观察,但时间不同。

我熟悉 dayofyear 属性。有没有办法使用这个属性来确定每年的最大天数?结果将是这样的:

2015 252
2016 250
2017 251

标签: pandasdatetimedataframe

解决方案


如果我理解您的问题,您想查看日期列表,并为每年获取该年的最长日期。

 # Sample data
 df = pd.DataFrame({'date':pd.DatetimeIndex(start=pd.datetime(2018,12,24),end=pd.datetime(2019,1,2),freq='h')})
 df['dayofyear'] = df.date.dt.dayofyear
 df['year'] = df.date.dt.year
 df.groupby('year').dayofyear.max()

出去:

 year
 2018    365
 2019      2

推荐阅读