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