У меня есть панда DataFrame с индексным столбцом = date
.Как установить дату на первую дату этого месяца?
Вход:
value
date
1986-01-31 22.93
1986-02-28 15.46
Я хочу пол дату в первый день этого месяца
Выход:
value
date
1986-01-01 22.93
1986-02-01 15.46
Что я пробовал:
df.index.floor('M')
ValueError: <MonthEnd> is a non-fixed frequency
Это потенциально становится ause df генерируется df = df.resample("M").sum()
(Выход этого кода - это ввод в начале вопроса)
Я также пробовал df = df.resample("M", convention='start').sum()
. Однако это не работает.
Я знаю в R, легко можно просто позвонить floor(date, 'M')
.
Является ли производительность проблемы? Я бы подумал о преобразовании значений в объекты 'datetime' для этого, но это может быть дорогостоящим, если вы пытаетесь обрабатывать миллионы объектов. – Alfe