3

xarray のドキュメントでは、月ごとの気候に対する異常を計算する方法について説明しています。ここで私は少し違うことをしようとしています:毎日の時系列から、今月の平均に対する毎日の異常を計算したいと思います(毎月の気候学からではありません)。

groupby と手動で作成された毎月のスタンプ (以下のコード) を使用して、なんとかそれを行うことができました。同じ結果を得るためのより良いハックの少ない方法はありますか?

import xarray as xr
import numpy as np
import pandas as pd

# Create a data array
t = pd.date_range('2001', '2003', freq='D')
da = xr.DataArray(np.arange(len(t)), coords={'time':t}, dims='time')

# Monthly time stamp for groupby
da.coords['stamp'] = ('time', [str(y) + '-' + str(m) for (y, m) in 
                               zip(da['time.year'].values, 
                                   da['time.month'].values)])

# Anomaly
da_ano = da.groupby('stamp') - da.groupby('stamp').mean()

da_ano.plot();

プロット出力

4

1 に答える 1