You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas读取Excel按日期范围筛选返回空DataFrame,输出长度0与预期824不符

问题原因

pandas使用loc对索引做范围切片时,遵循索引顺序匹配原则:

  1. 你的Excel数据里timestamp列默认是按时间正序排列的(更早的日期在前,更晚的日期在后),设置为索引后索引顺序也保持正序。
  2. 你写的切片范围是"2011-08-20":"2008-05-15",把更晚的日期放在了切片起始位,更早的日期放在结束位,在正序索引里这个区间没有对应数据,所以返回空DataFrame,长度为0。
解决方法

两种方案任选即可:

  • 调整切片的起止顺序,把更早的日期放在切片起始位,更晚的放在结束位:
# 替换原切片行为
rango = dateindextime.loc["2008-05-15":"2011-08-20"]
  • 先对时间索引做排序,再执行切片,避免索引顺序混乱导致的匹配问题:
dateindextime = data.set_index("timestamp").sort_index()
rango = dateindextime.loc["2008-05-15":"2011-08-20"]

修改后再次执行print(len(rango))就会得到预期的824结果。

内容的提问来源于stack exchange,提问作者julian Marzabal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:36:03