Выполните расчет в каждой точке широты и долготы

#python #python-xarray

Вопрос:

У меня есть массив данных mx2t xarray, который содержит почасовые температуры по региону. Что я пытаюсь сделать, так это найти максимальную температуру в данных для каждой точки широты и долготы, а затем нанести ее на карту.

Запуск mx2t.max() даст мне наибольшее значение во всем массиве, но как мне получить наибольшее значение для каждой точки широты и долготы?

Вот как выглядят мои координаты в массиве данных: введите описание изображения здесь

Ответ №1:

См. Документы xarary по агрегации.

DataArray.max API принимает dim аргумент, который действует аналогично axis аргументу numpy (за исключением того, что он принимает имя измерения, а не позиционный индекс).:

 mx2t.max(dim='time')
 

примет максимальное значение по временному измерению, возвращая массив (latitude, longitude) данных с максимальным значением по точкам.

Вы также можете предоставить несколько измерений для любой из функций агрегирования; в вашем примере для создания временного ряда max как по широте, так и по долготе:

 mx2t.max(dim=('latitude', 'longitude'))