使用.to_period()在python中获得营业月结束

时间:2017-12-27 21:21:16

标签: python pandas

我说一篇文章允许我在数据框索引中获得月末,但它只提供了Calendar月末,我希望商业月结束

df_mth_return.index = df_mth_return.index.to_period('M').to_timestamp('M')
df_mth_return

这是我生成的数据框的片段。所以你可以看到2/29/1992应该是2/28/1992和5/31/1992以及5/28/1992它继续

            IBM US Equity   MMM US Equity
Date    
2/29/1992   -2.174845   0.878127
3/31/1992   -3.884848   -2.470764
4/30/1992   8.682919    5.634692
5/31/1992   1.312976    2.867628
6/30/1992   7.85108     1.435327

我尝试了一段时间(' BM'它扔了,错误和其他帖子建议pd.offset,但这也不起作用。

任何人都可以提出建议。

1 个答案:

答案 0 :(得分:1)

BMonthEnd可以使用date_range

In [28]: pd.date_range('19920101', '19920630', freq=dt.BMonthEnd())
Out[28]:
DatetimeIndex(['1992-01-31', '1992-02-28', '1992-03-31', '1992-04-30',
               '1992-05-29', '1992-06-30'],
              dtype='datetime64[ns]', freq='BM', tz=None)