

下記表のような時系列温度データにつき、`2000年、2001年・・・`と、各年ごとの値の平均値を計算しています。

日付のstart-endが分かっている場合、

[code]

    df['2000-01-04':'2000-12-27'].mean()
    df['2001-01-05':'2001-12-28'].mean()
    
[/code]

などと値を直指定すればいいと思うのですが、データを見ていちいち確認するのではなく、プログラム的にstart/endを判定したい場合、どのようにプログラムを組んだらいいのでしょうか？

`df.min()`を使えばとも思ったのですが、各年ではなくデータ全体の最小値を抽出してしまいます。

[code]

    date(index) 気温
    2000-01-04 -1℃
    2000-01-05 0℃
    ・
    ・
    2000-12-27 8℃
    2001-01-05 2℃
    2001-01-06 3℃
    ・
    ・
    2001-12-28 -1℃
    
[/code]


CC BY-SA 4.0
2019-06-29T08:06:51.363
56216
2019-06-29T09:51:28.033
2019-06-29T08:31:01.860
31764
31764
question
python python3 pandas
pandasで日付の最小値、最大値を自動抽出するには

[code]

    df.resample('1Y').mean()
    
[/code]

では？

[code]

    pd.Series(df.index).min()
    pd.Series(df.index).max()
    df.index[0]
    df.index[-1]
    df.idxmin()
    df.idxmax()
    
[/code]

indexの最大と最小は用途によって使い分ければいいかと


CC BY-SA 4.0
2019-06-29T09:51:28.033
56229
2019-06-29T09:51:28.033
34277
56216
answer