У меня большой фрейм данных, первые 5 строк которого:
Date Element Data_Value
0 2010-11-25 TMIN 228
1 2014-08-03 TMAX 332
2 2012-04-03 TMAX 311
3 2009-11-14 TMAX 294
4 2011-10-20 TMIN 220
Эти данные являются ежедневными измерениями минимальной и максимальной температуры (TMIN
& TMAX) за период 2005–2014 гг., И на одну и ту же дату имеется несколько TMIN и TMAX (это измерения от другого оборудования).
Мне нужна минимальная температура
Мне нужно создать фрейм данных со следующими столбцами:
столбец 1: дата, но в днях и месяцах (год не важен)
столбец 2: минимальное значение температуры (Data_Value) для данного дня-месяца, измеренное в упомянутом выше периоде, то есть для 31 декабря, взять минимальное Data_Value из всех Data_Value лет. Мне нужно сделать это для каждого дня-месяца.
столбец 3: этот столбец похож на предыдущий, но вместо минимальных значений мне нужны максимальные.
итак, искомый фрейм должен выглядеть примерно так:
Date TMIN TMAX
11-25 151 300
12-31 100 250
. . .
. . .
Я использовал groupby:
per_day = df.Date.dt.to_period("D")
g_day = df.groupby(per_day)
Здесь я могу использовать g_day.min()
и g_day.max()
, поэтому я беру минимальные и максимальные значения для данных того же дня, и вот где я застрял, мне нужно сделать то же самое, но на годы ( возьмите мин и макс одной пары день-месяц за все годы)
Данные, с которыми я работаю, могут быть найдены здесь: https://hub.coursera -notebooks.org / user / gksihrbikiyeqyhpwaxvrt / edit / data / C2A2_data / BinnedCsvs_d25 / e696f3d79c6a540c6e6467eba0eeeeeeeeeeeeeeeeeeeeee.