获取熊猫的平均年份(多年的平均天数)

Hyp*_*ube 6 python datetime numpy time-series pandas

我是Pandas时间序列和数据框架的新手,并且很难完成这个简单的任务.我从2004年1月1日到2008年12月31日每天都有一个数据集"数据"(1维float32-Numpy数组).日期存储为日期时间对象"日期"列表.基本上,我想计算一个完整的"标准年" - 所有年份每天的平均值(1-365).(?)我从这个类似的问题开始(获取一定的时间平均超过在熊猫数据帧几年平日),但无法得到期望的结果-一个时间序列的365"平均"的日子,例如平均1月1日的所有四个,1月2日的...

一个小例子脚本:

import numpy as np
import pandas as pd
import datetime

startdate = datetime.datetime(2004, 1, 1)
enddate = datetime.datetime(2008, 1, 1)
days = (enddate + datetime.timedelta(days=1) - startdate).days
data = np.random.random(days)
dates = [startdate + datetime.timedelta(days=x) for x in range(0, days)]

ts = pd.Series(data, dates)
test = ts.groupby(lambda x: (x.year, x.day)).mean()
Run Code Online (Sandbox Code Playgroud)

unu*_*tbu 9

分组按月和日,而不是年和日:

test = ts.groupby([ts.index.month, ts.index.day]).mean()
Run Code Online (Sandbox Code Playgroud)

产量

1  1     0.499264
   2     0.449357
   3     0.498883
...
12  17    0.408180
    18    0.317682
    19    0.467238
...    
    29    0.413721
    30    0.399180
    31    0.828423
Length: 366, dtype: float64
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,为此搜索了很长时间:) (2认同)