-1

我已经开始使用 Pandas,我主要用它来分析海洋学研究的时间序列。为了计算异常,我们经常需要从长时间序列中计算每日和每月的气候类型。

我的意思是:例如,从 1992 年到 2012 年的每日数据时间序列,我想计算每日气候学,即(1992 年 1 月 1 日数据 + 1993 年 1 月 1 日数据+ .... 1 月 1 日- 2012)/年数和类似的 1 月 3 日等。

生成的时间序列将有 365 天的长度,其中的每个点将是 1992 年至 2012 年 20 年中每一天的平均值。

同样,我们经常需要计算每月的气候学,即 20 年 1 月的平均值和 20 年 2 月的平均值。等等。如果有人可以建议我在 Pandas 中有一种快速的方法来进行这种分析,那将是一个很大的帮助?

最诚挚的问候,

苏迪尔

4

1 回答 1

1

You can organize your series in such a way that columns are years and rows are days (month, day tuples below). And then just use mean() method to calculate averages of rows:

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
于 2013-08-16T08:55:07.723 回答