質問: 下記表のような時系列温度データにつき、`2000年、2001年・・・`と、各年ごとの値の平均値を計算しています。 日付のstart-endが分かっている場合、 ``` df['2000-01-04':'2000-12-27'].mean() df['2001-01-05':'2001-12-28'].mean() ``` などと値を直指定すればいいと思うのですが、データを見ていちいち確認するのではなく、プログラム的にstart/endを判定したい場合、どのようにプログラムを組んだらいいのでしょうか? `df.min()`を使えばとも思ったのですが、各年ではなくデータ全体の最小値を抽出してしまいます。 ``` date(index) 気温 2000-01-04 -1°C 2000-01-05 0°C ・ ・ 2000-12-27 8°C 2001-01-05 2°C 2001-01-06 3°C ・ ・ 2001-12-28 -1°C ```
回答: ``` df.resample('1Y').mean() ``` では? ``` pd.Series(df.index).min() pd.Series(df.index).max() df.index[0] df.index[-1] df.idxmin() df.idxmax() ``` indexの最大と最小は用途によって使い分ければいいかと