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

如何在现有Pandas代码中正确使用set_index('Hour')命令?

正确使用set_index和index_col的方法

你代码里的核心错误是直接调用pd.set_index()——set_index()是DataFrame对象的专属方法,不是pandas模块的方法,必须用你创建的df1、df2实例来调用。以下是两种正确的实现方式:

方法1:读取数据后调用set_index

import pandas as pd

df1 = pd.read_csv("ascacasa.csv")
df1 = df1.set_index('Hour')  # 用df1实例调用set_index,而非pd模块

df2 = pd.read_csv("cascsaca.csv")
df2 = df2.set_index('Hour')

如果不想重新赋值,也可以用inplace=True直接修改原DataFrame:

import pandas as pd

df1 = pd.read_csv("ascacasa.csv")
df1.set_index('Hour', inplace=True)

df2 = pd.read_csv("cascsaca.csv")
df2.set_index('Hour', inplace=True)

方法2:读取时用index_col参数

你说index_col无效,大概率是列名不匹配(比如你写的是HOUR,但CSV里实际列名是Hour或其他拼写/大小写),或者目标列不存在。解决时要确保参数列名和CSV里的列名完全一致:

import pandas as pd

# 列名需与CSV文件中的完全对应,比如CSV里是'Hour'就写'Hour'
df1 = pd.read_csv("ascacasa.csv", index_col='Hour')
df2 = pd.read_csv("cascsaca.csv", index_col='Hour')

排查index_col无效的小技巧

  • 先打印DataFrame的列名确认:print(df1.columns),检查目标列是否存在,注意大小写、空格或特殊字符的差异
  • 如果列名有空格(比如Hour),参数里也要完全对应写index_col=' Hour '

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:45:58