11

これを行うための簡単な実装があることは知っていますが、構文を思い出せません。シンプルなパンダの時系列があり、月ごとにデータを要約したいと思います。具体的には、データの要約を取得するために、数か月および数年にわたってデータを追加したいと考えています。スライスで書けますが、自動で行う構文を見た覚えがあります。

import pandas as pd
df = Series(randn(100), index=pd.date_range('2012-01-01', periods=100))

年数とサブ数が月数のマルチインデックス シリーズが一等賞になります。

部分的な回答:

ds.resample('M', how=sum)  # for calendar monthly
ds.resample('A', how=sum)  # for calendar yearly

マルチインデックス化された年の合計にエレガントに到達する方法はありますか?

4

1 に答える 1

21
In [1]: import pandas as pd
        from numpy.random import randn

In [2]: df = Series(randn(500), index=pd.date_range('2012-01-01', periods=500))

In [3]: s2 = df.groupby([lambda x: x.year, lambda x: x.month]).sum()

In [4]: s2
Out[4]: 
2012  1      3.853775
      2      4.259941
      3      4.629546
      4    -10.812505
      5    -16.383818
      6     -5.255475
      7      5.901344
      8     13.375258
      9      1.758670
      10     6.570200
      11     6.299812
      12     7.237049
2013  1     -1.331835
      2      3.399223
      3      2.011031
      4      7.905396
      5      1.127362
dtype: float64
于 2013-07-03T14:40:36.990 に答える