1979 年 1 月 1 日から 2005 年 12 月 31 日までの 3D 時系列データ マトリックスがあります。現在、マトリックスは 9862x360x720 (毎日の降水量 x 緯度 0.5° x 経度 0.5°) です。NaN 値を合計するためのしきい値を設定しながら、毎日の降雨量を合計して月間降雨量 (合計 324 か月) にします。
つまり、特定の緯度/経度グリッド セルに 10 を超える毎日の NaN 値がある場合、月ごとに合計されたセルを NaN としてマークしたいと考えています。グリッド セルの毎日の NaN 値が 10 未満の場合、残りの非 NaN の毎日の値を合計し、それを月の値として使用したいと考えています。
xarray ライブラリの「リサンプル」機能を使用して成功しましたが、NaN 値のしきい値を設定する方法がわかりませんでした。私が読んだものはすべて sum または nansum 関数を使用するように言っていますが、これらの関数のいずれかを使用して NaN しきい値を設定する方法が見つかりません。この時点で、どのメソッド (xarray など) にも対応できます。
import netCDF4
import numpy as np
import xarray as xr
import pandas as pd
f = netCDF4.Dataset("daily_data", 'r')
daily_dataset = xr.Dataset({'precipitation': (['time', 'lat', 'lon'], f['precipitation'][:, :, :])},
coords={'lat': (f['lat'][:]), 'lon': (f['lon'][:]), 'time': pd.date_range('1979-01-01', periods=9862)})
monthly_dataset = daily_dataset['precipitation'].resample('M', dim='time', how='sum', skipna=False)
上記のコードを使用して、日次データを月次データに合計できましたが、NaN しきい値を設定できませんでした。現在、毎日のデータは NetCDF ファイルに保存されています。