date_time
がインデックスではない場合、インデックス付きのdate_time
DataFrameは次のコマンドで作成できます。
dfts = df.set_index('date_time')
そこから、を使用して間隔でグループ化できます
dfts.groupby(lambda x : x.month).mean()
各月の平均値を確認します。同様に、あなたはすることができます
dfts.groupby(lambda x : x.year).std()
年間の標準偏差。
達成したいタスクの例を理解した場合は、を使用してデータを年に分割しxs
、それらをグループ化して結果を連結し、これを新しいに格納することができますDataFrame
。
years = range(2012, 2015)
yearly_month_stats = [dfts.xs(str(year)).groupby(lambda x : x.month).mean() for year in years]
df2 = pd.concat(yearly_month_stats, axis=1, keys = years)
そこからあなたは次のようなものを手に入れます
2012 2013 2014
value value value
1 NaN 5.324165 15.747767
2 NaN -23.193429 9.193217
3 NaN -14.144287 23.896030
4 NaN -21.877975 16.310195
5 NaN -3.079910 -6.093905
6 NaN -2.106847 -23.253183
7 NaN 10.644636 6.542562
8 NaN -9.763087 14.335956
9 NaN -3.529646 2.607973
10 NaN -18.633832 0.083575
11 NaN 10.297902 14.059286
12 33.95442 13.692435 22.293245