xarray を使用して、xarray のドキュメントの次の例に似た方法で編成された、毎日の気象データを処理したいとします。
ただし、データは複数の Excel ファイルで提供され、各ファイルには 1 日分のデータが含まれています。ファイル名には日付情報が含まれており、ファイルは次のおもちゃの例のようになっています。
X Y Temp Prec
1 1 21 34
1 2 24 4
1 3 22 35
2 1 23 36
ファイルを pandas データフレームに読み込むことができます。
for f in files:
datestring = f.split('.')[0]
date = datetime.strptime(datestring, '%Y%m%d')
df = pd.read_excel(f, 0)
df['Date'] = date
すべてのデータを含む大きなデータフレームを作成し ( dfAll.append(df)
)、データフレームとデータセットの間で変換できます ( xr.Dataset.from_dataframe(df)
)。ただし、画像が示すように、データセットを再インデックスして整理することはできません。私のデータセットは次のようになります。
<xarray.Dataset>
Dimensions: (index: 120)
Coordinates:
* index (index) int64 106 107 108 109 ...
Data variables:
X (index) float64 1 1 1 2 ...
Y (index) float64 1 2 3 1 ...
Temp (index) float64 21 24 22 23 ...
Prec (index) float64 34 40 35 36 ...
Date (index) datetime64[ns] 2017-01-02 2017-01-02 2017-01-02 ...
例のようにデータを再編成するにはどうすればよいですか? パンダで実行する操作と xarray で実行する操作はどれですか? 基本的に、日付、X、および Y をラベルとして、Temp & Prec データを変数として使用したいと考えています。