2016-07-05 2 views
1

Скажем у меня есть следующие:Не понимая выход MonthEnd() в панд

start = dt.datetime(2015,07,01) 
end = dt.datetime(2016,06,30) 

rng = pd.date_range(start, end,freq='M') 

print rng 

DatetimeIndex(['2015-07-31', '2015-08-31', '2015-09-30', '2015-10-31', 
      '2015-11-30', '2015-12-31', '2016-01-31', '2016-02-29', 
      '2016-03-31', '2016-04-30', '2016-05-31', '2016-06-30'], 
      dtype='datetime64[ns]', freq='M') 

Я бы ожидать:

rng[0] + MonthBegin() 

, чтобы дать выход '2015-07-01'. вместо этого он показывает «2015-08-01»

что мне не хватает?

ответ

2

См. Раздел документации Anchored Offset Semantics.

Зафиксированные смещения будут привязываться к следующим точка привязки. Если ваша дата в течение месяца, MonthBegin() будет привязана к началу следующего месяца.

Если вы хотите начало текущего месяца, вы можете вычесть MonthBegin():

rng[0] - MonthBegin() 

Или вы можете добавить MonthBegin(-1):

rng[0] + MonthBegin(-1) 
+0

спасибо! именно то, что я искал –

Смежные вопросы