首页 >后端开发 >Python教程 >为什么我在访问 DataFrame 列时收到'Pandas Hashtable KeyError”?

为什么我在访问 DataFrame 列时收到'Pandas Hashtable KeyError”?

DDD
DDD原创
2024-11-16 10:09:02925浏览

Why am I Getting a

“错误:Pandas Hashtable KeyError”故障排除

当尝试从 pandas DataFrame 检索特定列时,您可能会遇到“哈希表”按键错误。”当 DataFrame 中不存在指定的列名时,会发生此错误。

调查:

首先验证 DataFrame 中的实际列名。使用以下代码列出列名称,确保删除任何前导或尾随空格:

print(reviews_new.columns.tolist())

潜在解决方案:

1。列名称中的空格

如果列名称包含空格,您可以:

  • 从列名称中删除空格:

    reviews_new.columns = reviews_new.columns.str.strip()
  • 读取 CSV 文件时使用skipinitialspace:

    reviews_new = pd.read_csv("D:\aviva.csv", skipinitialspace=True)

2.自定义分隔符

如果 CSV 文件使用默认逗号(,)以外的分隔符,则需要使用 sep 参数指定:

  • 分号作为分隔符:

    reviews_new = pd.read_csv("D:\aviva.csv", sep=';')
  • 空格作为分隔符:

    # sep is whitespace
    reviews_new = pd.read_csv("D:\aviva.csv", sep='\s+')
    
    # Another option for whitespaces as separator
    reviews_new = pd.read_csv("D:\aviva.csv", delim_whitespace=True)

3。缺少列名称

如果 DataFrame 没有列名称,以下代码将使用 DataFrame 索引检索列值:

print(df.index)
print(df.index.get_level_values('column_name'))

附加说明:

  • 对于具有多个索引(MultiIndex)的 DataFrame,使用 get_level_values 按级别名称检索列值。
  • 确保指定的列名称与索引的大小写和大小写完全匹配DataFrame 中的列。

以上是为什么我在访问 DataFrame 列时收到'Pandas Hashtable KeyError”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn