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

Pandas将1分钟数据重采样为15分钟时出现RangeIndex/Index错误如何解决

错误原因

  • 首次报错是因为DataFrame默认使用自增数字作为索引(RangeIndex),resample 方法仅支持时间类索引,无法适配数字索引。
  • 二次报错是因为你直接将原始字符串格式的Date列设为索引,此时索引为普通字符串索引,并非pandas可识别的DatetimeIndex类型,依然不满足resample的调用要求。你单独编写的date = pd.to_datetime(data['Date'])仅生成了一个独立的时间序列变量,没有赋值给DataFrame的索引,完全没有生效。

另外你原有逻辑还存在一个隐性问题:重采样会生成行数更少的15分钟频率结果,直接将结果赋值回原1分钟频率的data表会出现大量空值,属于逻辑错误。

修正后的可运行代码

import datetime as dt
import pandas as pd

data = pd.read_csv('Tatasteel')
# 先将Date列转换为datetime类型,再设置为索引
data['Date'] = pd.to_datetime(data['Date'])
data.set_index('Date', inplace=True)

# 一次性完成15分钟频率的各字段聚合,避免多次调用resample
data_15min = data.resample('15Min').agg({
    'Open': 'first',
    'High': 'max',
    'Low': 'min',
    'Close': 'last',
    'Volume': 'sum'
})

print(data_15min.head())

注意事项

如果pd.to_datetime转换时间时出现格式识别错误,可以传入format参数指定你的时间字符串格式,比如时间格式为年-月-日 时:分的话,可以写为pd.to_datetime(data['Date'], format='%Y-%m-%d %H:%M')提升转换效率和准确率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:12:04