Вычислить среднее из нескольких переменных xarray - PullRequest
0 голосов
/ 31 марта 2020

У меня есть массив данных xarray, например:

<xarray.Dataset>
Dimensions:     (lat: 180, lon: 360, time: 360)
Coordinates:
  * time        (time) datetime64[ns] 1990-01-01 1990-02-01 ... 2020-01-01
  * lat         (lat) float64 -89.5 -88.5 -87.5 -86.5 ... 87.5 88.5 89.5
  * lon         (lon) float64 0 1 2 3 ... 357 358 359
Data variables:
    a    (time, lat, lon) float32 dask.array<shape=(360, 180, 360), chunksize=(360, 180, 360)>
    b    (time, lat, lon) float32 dask.array<shape=(360, 180, 360), chunksize=(360, 180, 360)>
    c    (time, lat, lon) float32 dask.array<shape=(360, 180, 360), chunksize=(360, 180, 360)>
    d    (time, lat, lon) float32 dask.array<shape=(360, 180, 360), chunksize=(360, 180, 360)>

Как вычислить среднее значение a, b, c, d в новой переменной e?

Я знаю, что dataset.mean() работает с координатными размерами, верно? Например, в течение долгого времени, широты или долготы, но как я могу вычислить среднее значение самих переменных? Не могу найти много онлайн об этом.

Большое спасибо!

1 Ответ

2 голосов
/ 31 марта 2020

Вы можете превратить его в массив, а затем вычислить среднее значение по новому измерению:

mean = ds.to_array(dim='new').mean('new')
ds.assign(e=mean)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...