1
我想根据多年的数据时间序列计算一年中某天的平均值。因此,我在处理下面示例中显示的闰年时遇到了问题。pandas中的闰年。时间索引.dayofyear
ind=pd.DatetimeIndex(start='2016-01-01', end='2016-12-31', freq='d')
dat=np.arange(1,367,1)
ser=pd.Series(dat, index=ind)
由此产生的系列由于闰年有366个条目。
我通过手动删除了2月29日的条目:
ser=ser[~((ser.index.month==2)&(ser.index.day==29))]
正如预期该系列产品具有事后只有365项。
当我计算年份的天除以平均:
doy_mean=ser.groupby(ser.index.dayofyear).mean()
我再次获得366项系列。任何想法如何处理这个?
谢谢!
所有你正在做的是去除2月29日,在今年的最后一天仍将有366 DAYOFYEAR的值,所以你可以删除这一年的最后一天或如果你只是想删除2月29日 – EdChum
检查'len(doy_mean)'它应该是365. – Dark
谢谢!我想从30年的时间序列中计算温度。如果我每天花费一天的时间,365日的价值是从12月31日的非闰年值和12月30日的闰年值中计算出来的。按月份和日期分组时,我可以避免这个错误。 – Axel