pandas - pandas.date_range 自定义频率
问题描述
我正在尝试使用 pd.date_range 为滚动的 12 个月方案生成捕获该月第二天的日期列表。我不太清楚如何在文档中结合频率别名来实现这一点。下面是我所在的位置和输出。我倒要看看
['2020-05-02', '2020-04-02', '2020-03-02'...]
pd.date_range(end='2020-06-02',periods=12,freq=)
DatetimeIndex(['2020-05-22', '2020-05-23', '2020-05-24', '2020-05-25',
'2020-05-26', '2020-05-27', '2020-05-28', '2020-05-29',
'2020-05-30', '2020-05-31', '2020-06-01', '2020-06-02'],
dtype='datetime64[ns]', freq='D')
解决方案
我假设您已经定义:
- 结束日期,
- 周期数,
正如您在代码示例中所写。
要构建您的日期范围,请使用:
- 具有MS(月开始)频率的date_range ,
- 再加上1 天的班次。
执行此操作的代码是:
rng = pd.date_range(end='2020-06-02', periods=12, freq='MS').shift(1, freq='D')
给予:
DatetimeIndex(['2019-07-02', '2019-08-02', '2019-09-02', '2019-10-02',
'2019-11-02', '2019-12-02', '2020-01-02', '2020-02-02',
'2020-03-02', '2020-04-02', '2020-05-02', '2020-06-02'],
dtype='datetime64[ns]', freq=None)
这个 time freq是None意思:从每月的第二天开始,每个月没有“频率缩写”(有 month start和month end的缩写),但生成的日期绝对如你所愿。
推荐阅读
- javascript - JS 计算器,结果未按预期显示?
- jsf - JSF 的 SelectItems 的 itemLabel 即使使用不正确的 var ref 也能工作
- blazor-webassembly - 找不到 BlazorWebAssembly JS 文件。这通常表示打包错误
- sql - BigQuery - 连接谓词中的表不受支持的子查询
- python - 如何在 C++ proejct 中嵌入二进制化的 python 包
- postgresql - 错误:(repmgr)服务器处于待机模式,无法注册为主服务器
- reactjs - Storybook:如何测试基于路线的动画?
- frontend - 试图分叉 pancakeswap 前端彩票页面。获取多路通话卡盘失败
- android - 颤振 apk 问题
- docker - 在 gitlab 管道中运行 oracle 映像