Мне нужно максимальное значение для каждый год по каждой координате, так что, по сути, когда все будет сказано и сделано, у меня будет выходной массив с формой (5,145,192) (по одному значению на каждое значение широты и долготы).
Мне предлагалось попробовать использовать pandas, в частности DataFrame и DatetimeIndex, но я не смог найти способ использовать его для чего-то большего, чем 2D-массив. Также предлагался Xarray, но я раньше не использовал xarray и не знаю, с чего начать.
Редактирование 1: Пример данных< /p>
Вот упрощенная версия того, что я пытался сделать с пандами, а затем понял, что DataFrame не работает для трехмерного массива.
Код: Выделить всё
import numpy as np
import pandas as pd
fake = np.random.randint(2, 30, size = (14608,145,192))
index = pd.date_range(start = '1985-1-1 01:30:00', end = '1989-12-31 22:30:00' , freq='3H')
df = pd.DataFrame(data = fake, index = index)
Чтобы уточнить, я действительно хочу массив с формой (5, 145, 192) в качестве выходных данных. Я написал неправильно, потому что изначально я разбивал 3D-массив на 5 отдельных массивов, находил максимум, а затем снова складывал их в один массив, который заканчивался формой (5, 145, 192).
Я хочу иметь возможность пропустить утомительное разбиение массива вручную, так сказать, что я делал раньше, и упростить код.
Подробнее здесь: https://stackoverflow.com/questions/488 ... s-or-xarra