为什么 pandas date_range 不是我指定的日期?
Why is day of pandas date_range not what I specified?
为什么第一次约会不是 4/19/1965?为什么第 30 天而不是第 19 天?
dates = pd.date_range('1965-04-19', freq='6M', periods=3)
dates[0]
Timestamp('1965-04-30 00:00:00', offset='6M')
看起来 freq='M'
的默认行为是 MonthEnd()
,所以
dates = pd.date_range('1965-04-19', periods=3, freq='6M')
dates
DatetimeIndex(['1965-04-30', '1965-10-31', '1966-04-30'], dtype='datetime64[ns]', freq='6M', tz=None)
这可以通过设置 freq = pd.tseries.offsets.DateOffset(months=6)
来改变。
dates = pd.date_range('1965-04-19', periods=3, freq=pd.tseries.offsets.DateOffset(months=6))
dates
DatetimeIndex(['1965-04-19', '1965-10-19', '1966-04-19'], dtype='datetime64[ns]', freq='<DateOffset: kwds={'months': 6}>', tz=None)
为什么第一次约会不是 4/19/1965?为什么第 30 天而不是第 19 天?
dates = pd.date_range('1965-04-19', freq='6M', periods=3)
dates[0]
Timestamp('1965-04-30 00:00:00', offset='6M')
看起来 freq='M'
的默认行为是 MonthEnd()
,所以
dates = pd.date_range('1965-04-19', periods=3, freq='6M')
dates
DatetimeIndex(['1965-04-30', '1965-10-31', '1966-04-30'], dtype='datetime64[ns]', freq='6M', tz=None)
这可以通过设置 freq = pd.tseries.offsets.DateOffset(months=6)
来改变。
dates = pd.date_range('1965-04-19', periods=3, freq=pd.tseries.offsets.DateOffset(months=6))
dates
DatetimeIndex(['1965-04-19', '1965-10-19', '1966-04-19'], dtype='datetime64[ns]', freq='<DateOffset: kwds={'months': 6}>', tz=None)