Python pandas.date_range显示错误的启动时间值

时间:2014-02-12 11:31:46

标签: datetime pandas

我想使用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

我做错了吗?

1 个答案:

答案 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