设置一个空的时间序列数据框,其中包含该月第一天的月度数据

时间:2015-03-17 17:19:11

标签: python datetime pandas time-series

当我使用

设置空的pandas数据帧时
GWdates = pd.date_range('1/1/1940',periods = 900, freq='M')
Big_df= pd.DataFrame(index=GWdates)

我明白了:

In [265]: df5
Out[265]: 
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 900 entries, 1940-01-31 00:00:00 to 2014-12-31 00:00:00
Freq: M
Empty DataFrame

日期是这几个月的所有目的,如何让它成为本月的第一个,如

DatetimeIndex: 900 entries, 1940-01-01 00:00:00 to 2014-12-01 00:00:00

似乎MonthBegin就像我要搜索的那样,但我没有得到docs for it。好像我必须在后台覆盖一些东西,我宁愿不这样做。

1 个答案:

答案 0 :(得分:1)

您可以使用offsets.MonthBegin()

In [280]: import pandas.tseries.offsets as offsets

In [281]: pd.date_range('1/1/1940', periods=900, freq=offsets.MonthBegin())
Out[281]: 
<class 'pandas.tseries.index.DatetimeIndex'>
[1940-01-01, ..., 2014-12-01]
Length: 900, Freq: MS, Timezone: None

或者,实际上,正如上面的Freq: MS所示,只需freq='MS'即可:

In [282]: pd.date_range('1/1/1940', periods=900, freq='MS')
Out[282]: 
<class 'pandas.tseries.index.DatetimeIndex'>
[1940-01-01, ..., 2014-12-01]
Length: 900, Freq: MS, Timezone: None