2016-10-11 4 views
3

У меня есть набор данных python xarray с time,x,y для его размеров и value1 в качестве переменной. Я пытаюсь вычислить среднегодовое значение value1 для каждой координатной пары x,y.Вычислить однолетнее среднее с использованием x-массивов

Я бежал в эту функцию при чтении документации:

ds.groupby('time.year').mean() 

Это, кажется, для вычисления одного среднегодового для всеx,y координатные пары в value1 на каждом данном временном интервале
, а не годовые средства отдельныеx,y координатные пары на каждый данный срез времени.

Хотя фрагмент кода выше производит неправильный вывод, меня очень интересует его упрощенная форма. Я бы очень хотел разобраться в трюке X-массивов, чтобы сделать однолетнее среднее для заданной координатной пары x,y, а не взламывать ее вместе.

Кат-кем-то указывает на меня в правильном направлении? Должен ли я временно превратить это в объект pandas?

ответ

3

Чтобы избежать дефолта в среднем по всем измерениям, вам просто нужно поставить размер вы хотите усреднить явно: ds.groupby('time.year').mean('time')

+0

Спасибо! Оно работает! Можете ли вы дать мне советы о том, как я должен читать документацию по X-массиву? Это что-то вездесущее и что-то, что кто-то может использовать панды? (мой фон - это знание Pandas, попытка изучения X-массивов) – Conic

+0

Я бы предложил прочитать интересующие вас секты повествования (например, http://xarray.pydata.org/en/stable/groupby.html# применим в этом случае). Эта особенность очень отличается от панд, так что это просто то, что мы плохо объяснили. – shoyer