2017-04-26 102 views
6

,如果有任何有效的方法或一个班轮,给定一个大熊猫DatetimeIndex DATE1,返回DatetimeIndex date2的这是第一天,我想知道下个月的时间?熊猫:在每月转换日期为下个月的第一天

例如,如果DATE1是 '2011-09-30' 然后DATE2是 '2011-10-01'?

我已经试过这一个班轮

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

但这似乎只能返回“同月的最后一天”。在这里可以做一些日期时间算术吗?

谢谢!

回答

11

您可以使用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) 

你会发现很多的例子在official Pandas docs

+0

这是很好的解决方案;) – jezrael

+0

@jezrael,谢谢! :) – MaxU

+0

@MaxU令人惊叹。这可能会节省我几个小时。是的,我是Python新手,刚刚跳过手册的这一部分,因为我不太明白。感谢您为更多示例提供资源! – yuqli

相关问题