2

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 データを変数として使用したいと考えています。

4

1 に答える 1