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

如何通过索引获取DataFrame的OT与OH列?切片异常求解

问题分析与解决

你忽略的核心关键点是:Timestamp是DataFrame的索引(Index),而非普通数据列。

具体原因

从你的输出表格来看,Timestamp是行标签,不属于DataFrame的列集合:

  • 执行values.columns会得到Index(['OT', 'OH'], dtype='object'),说明实际只有2列,OT是第0位,OH是第1位。
  • 你用iloc[:, 1:2]时,iloc的切片遵循左闭右开规则,只会取第1列(也就是OH);values.columns[1:2]同理,只返回第1个列名OH。

正确的取值方法

要获取OT和OH两列,有两种可靠方式:

  1. 用列名直接索引(最直观,推荐):
print(values[['OT', 'OH']])
  1. 用iloc切片覆盖0到2的范围(左闭右开,会包含第0和第1列):
print(values.iloc[:, 0:2])

额外补充

如果需要把Timestamp转为普通数据列,可以执行:

values = values.reset_index()

此时Timestamp会成为第0列,OT是第1列,OH是第2列,这时用iloc[:, 1:3]就能拿到目标列,但这种做法没必要,直接用列名索引更清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 04:06:25