我已经开始使用Pandas,我主要用它来分析海洋学研究的时间序列。为了计算异常,我们经常需要从长时间序列中计算每日和每月的气候学类型。
我的意思是:例如从1992年到2012年的每日数据时间序列,我想计算每日气候学即(1992年的jan-1数据+ 1993年的jan-1数据...... jan -1-2012)/年数 和jan 3等同样。
由此产生的时间序列的长度为365天,每个点的平均值为1992年至2012年20年的每一天。
同样经常我们需要计算每月的气候学,即20年的平均值和20年的平均值。等等 如果有人可以建议我在Pandas做一个快速的方法来进行这种分析,那将是一个很大的帮助吗?
致以最诚挚的问候,
Sudheer
答案 0 :(得分:1)
您可以按照以下列的方式整理系列:列为年,行为天(月,下面的日元组)。然后只需使用mean()
方法计算行的平均值:
In [1]: import pandas as pd
In [2]: df = pd.DataFrame({2010: [1,2,3,4,5], 2011: [2,3,4,5,6]}, index=[(1,1),(1,2),(1,3),(1,4),(1,5)])
In [3]: df
Out[4]:
2010 2011
(1, 1) 1 2
(1, 2) 2 3
(1, 3) 3 4
(1, 4) 4 5
(1, 5) 5 6
In [5]: df2 = df.mean(axis=1)
In [6]: df2
Out[7]:
(1, 1) 1.5
(1, 2) 2.5
(1, 3) 3.5
(1, 4) 4.5
(1, 5) 5.5