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

如何从日期、时间为索引的MultiIndex DataFrame中查询指定时间数据

用户提供的DataFrame截图如下:
DataFrame截图

解决方案

查询失败的核心原因是索引类型与查询参数类型不匹配,可按照以下步骤排查解决:

  1. 先执行以下代码确认索引结构:
    print(stockdf.index)
    print(type(stockdf.index[0]))

场景1:单级DatetimeIndex(完整时间戳索引)

如果你的索引是2015-01-01 09:17:00格式的完整时间戳,用以下两种方法查询:

  • 方法1:直接构造目标时间戳查询
import pandas as pd
target_time = pd.to_datetime("2015-01-01 09:17:00")
res = stockdf.loc[target_time]
  • 方法2:先过滤指定日期,再匹配对应时间点
res = stockdf.loc["2015-01-01"].between_time("09:17:00", "09:17:00")

场景2:二级MultiIndex(第一级为日期、第二级为时间)

如果日期、时间为两级索引,需要将查询参数转为和索引一致的类型后查询:

import datetime
# 示例为索引第一级是date对象、第二级是time对象的情况
target_date = datetime.date(2015, 1, 1)
target_minute = datetime.time(9, 17)
res = stockdf.loc[(target_date, target_minute), :]

内容的提问来源于stack exchange,提问作者Rajat Yadav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:42:01