Мой фрейм данных имеет 192 столбца: первый столбец - это время, а второй - значение столбца. Эти два столбца относятся к одному конкретному полю данных. Третий столбец - это время и значение четвертого столбца, и они принадлежат другому полю. Аналогично, у меня есть данные из 96 полей (дата и время), что приводит к 192 столбцам. Это данные за два года. Каждый день поле будет иметь около 200 образцов. То же самое касается всех 96 полей.
Я пытаюсь найти максимальное значение для каждого дня для данного поля. Я хочу сохранить это максимальное значение вдоль столбца, названного в честь этого поля, и вместе с днем в виде фрейма данных с именем max_data. Это может быть использовано снова позже. Точно так же я скопирую все остальные поля и сохраню их значения в max_data.
Я хочу построить максимум каждого дня для поля max_data dataframe?
Мой код:
.
for i,j in zip(modules_pmpp_df.columns[::2],modules_pmpp_df.columns[1::2]):
modules_pmpp_df[i] = pd.to_datetime(modules_pmpp_df[i])
print(modules_pmpp_df.groupby(modules_pmpp_df[i].dt.strftime('%B'))[j].max)
Текущий вывод:
<bound method GroupBy.max of <pandas.core.groupby.groupby.SeriesGroupBy object at 0x0000000004E3F518>>
<bound method GroupBy.max of <pandas.core.groupby.groupby.SeriesGroupBy object at 0x0000000008020C88>>
<bound method GroupBy.max of <pandas.core.groupby.groupby.SeriesGroupBy object at 0x00000000560AA668>>
.
.
Модифицированный код в соответствии с @jezrael дает следующий вывод:
print(modules_pmpp_df.groupby(modules_pmpp_df[i].dt.strftime('%B'))[j].max())
Вывод:
TypeError: '>=' not supported between instances of 'str' and 'float'
Модифицированный код в соответствии с @ U9-Forward дает следующий вывод:
print(modules_pmpp_df.groupby(modules_pmpp_df[i].dt.strftime('%B'))[j].max(axis=1))
Вывод:
TypeError: '>=' not supported between instances of 'str' and 'float'