我想使用pandas.date_range函数,如下所示:
import pandas as pd
start_date = '2013-01-01'
end_date = '2014-03-01'
dates = pd.date_range(start_date, end_date, freq='M')
当我打印日期时,范围中的第一个值是'2013-01-31'而不是我定义的start_date
,而最后一个值跳转到{end_date
定义的值的月末。 1}}。这种情况发生在我定义的各种日期。
print dates
# output:
#<class 'pandas.tseries.index.DatetimeIndex'>
#[2013-01-31 00:00:00, ..., 2014-03-31 00:00:00]
#Length: 15, Freq: M, Timezone: None
我做错了吗?
答案 0 :(得分:2)
freq='M'
表示日期范围将使用作为月末的日期。要使用月份开头的日期,请使用freq='MS'
。有一个可用别名列表及其含义here。
>>> pd.date_range(start_date, end_date, freq='MS')
<class 'pandas.tseries.index.DatetimeIndex'>
[2013-01-01, ..., 2014-03-01]
Length: 15, Freq: MS, Timezone: None