Pandas: преобразование даты в месяц в 1-й день следующего месяца

Мне интересно, есть ли какие-либо эффективные методы или однострочные, которые, учитывая pandas DatetimeIndex date1, верните DatetimeIndex date2 Это первый день следующего месяца?

например, если date1 - это '2011-09-30' тогда date2 is '2011-10-01'?

Я пробовал этот вкладыш

    df.index.to_period("M").to_timestamp('M')

но это, кажется, может вернуть только "последний день того же месяца". Можно ли это сделать какая-то арифметика времени?

спасибо!

1 ответов


можно использовать pd.offsets.MonthBegin()

In [261]: d = pd.to_datetime(['2011-09-30', '2012-02-28'])

In [262]: d
Out[262]: DatetimeIndex(['2011-09-30', '2012-02-28'], dtype='datetime64[ns]', freq=None)

In [263]: d + pd.offsets.MonthBegin(1)
Out[263]: DatetimeIndex(['2011-10-01', '2012-03-01'], dtype='datetime64[ns]', freq=None)

вы найдете много примеров в официальные документы панд