インデックスを持つデータフレームがmonthyタイムステップであるとします。dataframe.groupby(lambda x:x.year)
を使用して毎月のデータを1年ごとにグループ化し、他の操作を適用できます。彼らを素早くグループ化できる方法はありますか?pandasデータフレームグループ年インデックス(デケード別)
ありがとうございました。
インデックスを持つデータフレームがmonthyタイムステップであるとします。dataframe.groupby(lambda x:x.year)
を使用して毎月のデータを1年ごとにグループ化し、他の操作を適用できます。彼らを素早くグループ化できる方法はありますか?pandasデータフレームグループ年インデックス(デケード別)
ありがとうございました。
十年を取得するために、あなたは
>>> dates = pd.date_range('1/1/2001', periods=500, freq="M")
>>> df = pd.DataFrame({"A": 5*np.arange(len(dates))+2}, index=dates)
>>> df.head()
A
2001-01-31 2
2001-02-28 7
2001-03-31 12
2001-04-30 17
2001-05-31 22
から開始している場合は、あなたは、10で年間分割整数、その後、例えば10を掛けることができ、通常通り(ここでは一年でグループ、我々はDatetimeIndex
持っているので、それは)本当に簡単です:
>>> df.groupby(df.index.year).sum().head()
A
2001 354
2002 1074
2003 1794
2004 2514
2005 3234
か、(x//10)*10
トリック行うことができます:
>>> df.groupby((df.index.year//10)*10).sum()
A
2000 29106
2010 100740
2020 172740
2030 244740
2040 77424
を
.year
を使用できるものがない場合でも、lambda x: (x.year//10)*10)
を実行できます。
は、インデックスの年間の属性を使用します。
df.groupby(df.index.year)
はあなたの日付列は、その後、あなたはグループがアップ
dataframe.set_index('Date').ix[:,0].resample('10AS', how='count')
注意することができ、名前Date
で行くと言うことができます:ix
- ここではデータフレームの最初の列を選択します
さまざまなオフセットが得られます: http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases