python - 熊猫 date_range 不返回任何值
问题描述
我目前面临关于熊猫 date_range 的问题。我在 datetime64[ns] 类型中有 2 个日期。开始日期和结束日期。我正在尝试创建一个包含这两个日期之间的 date_range 值的数据框,作为索引。但是,创建的数据框是空的,即使它应该包含值。
请注意,当我复制粘贴该代码并在网站的英文版中使用它时,它运行良好。我正面临着希腊人的挑战。
我写的代码是:
customdatedf = pd.DataFrame(index = pd.date_range(start, end, freq='D'))
开始和结束日期是从另一个数据框定义的,如下所示:
start = df['Date'].iloc[0]
end = df['Date'].iloc[-1]
并且它们的值被正确返回,因为它出现在
print(start, end)
(时间戳('2019-07-06 00:00:00'),时间戳('2019-06-26 00:00:00'))
这是打印的
预期结果是一个数据框,其索引为开始日期和结束日期之间的日期
解决方案
显然你在你的start
和end
变量上犯了一个错误。由于开始是在结束变量之后,所以要解决这个问题,把它们转过来:
start = pd.Timestamp('2019-07-06 00:00:00')
end = pd.Timestamp('2019-06-26 00:00:00')
pd.DataFrame({'Col_dummy':['Dummy']}, index=pd.date_range(end, start, freq='D'))
Col_dummy
2019-06-26 Dummy
2019-06-27 Dummy
2019-06-28 Dummy
2019-06-29 Dummy
2019-06-30 Dummy
2019-07-01 Dummy
2019-07-02 Dummy
2019-07-03 Dummy
2019-07-04 Dummy
2019-07-05 Dummy
2019-07-06 Dummy
或者,如果您只想要一个index
:
pd.DataFrame(index=pd.date_range(end, start, freq='D'))
Empty DataFrame
Columns: []
Index: [2019-06-26 00:00:00, 2019-06-27 00:00:00, 2019-06-28 00:00:00, 2019-06-29 00:00:00, 2019-06-30 00:00:00, 2019-07-01 00:00:00, 2019-07-02 00:00:00, 2019-07-03 00:00:00, 2019-07-04 00:00:00, 2019-07-05 00:00:00, 2019-07-06 00:00:00]
推荐阅读
- flutter - 如何将 Row 内的容器拉伸到最大可用高度?
- mysql - SQl 不接受节点 js 中的插入查询抛出 ER_BAD_FIELD_ERROR
- angular - 启用 Azure Active Directory 身份验证时 Azure App Service HTTP ERROR 400
- elasticsearch - Elasticsearch:获得输出的赞美
- c# - 将压缩文件从 C# 传递到 R
- flutter - Flutter应用程序中仅在一个屏幕上的屏幕方向/自动旋转
- zend-framework - zend 框架网站未由 localhost 运行,如何在 xampp 服务器的 htdocs 中配置它
- php - 在子目录中使用反向代理运行 Symfony 5
- python-3.x - 摆脱无
- python-3.x - 从未找到表格相关标签的网页中抓取数据