Mam pandas DataFrame z kolumną indeksu = date
.Jak piętro datę na pierwszą datę tego miesiąca?
Wejście:
value
date
1986-01-31 22.93
1986-02-28 15.46
Chcę piętrze datę na pierwszy dzień danego miesiąca
wyjściowa:
value
date
1986-01-01 22.93
1986-02-01 15.46
Co próbowałem:
df.index.floor('M')
ValueError: <MonthEnd> is a non-fixed frequency
To jest potencjalnie ause df jest generowany przez df = df.resample("M").sum()
(Wyjście tego kodu jest wejściem na początku pytania)
Próbowałem również df = df.resample("M", convention='start').sum()
. Jednak to nie działa.
Wiem, że w języku R łatwo jest po prostu zadzwonić pod numer floor(date, 'M')
.
Czy wydajność problem? Rozważałoby przekształcenie wartości w obiekty 'datetime', ale może to być kosztowne, jeśli próbujesz przetwarzać miliony obiektów. – Alfe