2013-07-20 10 views

答えて

15

十年を取得するために、あなたは

>>> 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)を実行できます。

4

は、インデックスの年間の属性を使用します。

df.groupby(df.index.year) 
1

はあなたの日付列は、その後、あなたはグループがアップ

dataframe.set_index('Date').ix[:,0].resample('10AS', how='count')

注意することができ、名前Dateで行くと言うことができます:ix - ここではデータフレームの最初の列を選択します

さまざまなオフセットが得られます: http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases

関連する問題