熊猫:将月份转换为下个月的第一天

yuq*_*qli 11 python-datetime pandas

我想知道是否有任何有效的方法或单线程,给定一个pandas DatetimeIndex date1,返回DatetimeIndex date2,这是下个月的第一天?

例如,如果date1是'2011-09-30',那么date2是'2011-10-01'?

我试过这个班轮

    df.index.to_period("M").to_timestamp('M')
Run Code Online (Sandbox Code Playgroud)

但这似乎只能回归​​"同月的最后一天".这里可以做一些日期时算术吗?

谢谢!

Max*_*axU 25

您可以使用 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)
Run Code Online (Sandbox Code Playgroud)

你会在官方的Pandas文档中找到很多例子