Получение максимальной стоимости в день через 10 лет - PullRequest
0 голосов
/ 05 августа 2020

это мой код, он получает максимальное значение за каждый день за 10 лет.

tmax = weather.set_index(['Date']).resample('D').max().resample('D').max() Выглядит так:

введите описание изображения здесь

Но теперь мне нужно только максимальное значение в день независимо от года, поэтому это будет 365 строк. Предположим, что у меня нет високосных лет, а индекс - datetime. Спасибо

Ответы [ 2 ]

0 голосов
/ 06 августа 2020

Если кто-то находится в такой же ситуации, я нашел следующее решение:

Создает новый столбец с номером года

tmax['dayofyear'] = tmax.index.dayofyear

Теперь они сгруппированы по номеру дня, остается только максимальное значение.

tmax = tmax.groupby('dayofyear').max()

0 голосов
/ 05 августа 2020

Попробуйте pd.Period, добавьте новый столбец dayofyear

weather['dayofyear'] = pd.Period(weather['Date'], freq='H').dayofyear

, затем вы можете выбрать максимальный элемент для данного дня с помощью groupBy, примерно так:

weather.groupby(['dayofyear'], sort=False)['TMAX'].max()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...