首页 > 解决方案 > 我开始通过 youtube 教程了解 pandas。完成教程后,我遇到了以下问题:

问题描述

我正在使用教程提供的完全相同的 csv 文件。在做教程时,我没有遇到错误。当试图建立我在教程中获得的知识时,我得到了以下错误,虽然我没有更改文件中的数据,或者任何与代码有关的东西,如果你甚至可以称之为代码的话。在互联网上搜索类似的错误,但没有找到任何东西。

编码:

> import pandas as pd 

df = pd.read_csv("pokemon_data.csv")
print(df.columns)
print(df.columns["Speed"])

错误:

> File "c:/Users/pgw19/Documents/python/scripts_own/kampagnentool.py", line 5, in <module>      
    print(df.columns["Speed"])
  File "C:\Users\pgw19\lib\site-packages\pandas\core\indexes\base.py", line 4297, in __getitem__
    return getitem(key)
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

我的问题:我如何解决错误并确保它不会再次发生?谢谢你的帮助!

标签: pythonpandas

解决方案


df.columns将返回这样的索引。您可以将其视为列名称的列表:

Index(['Size', 'Speed', 'RPM'], dtype='object')

可以从索引中提取一个元素,但它只会返回一个字符串:

df.columns[1]会回来Speed的。

可能,您想要的是从数据框中实际获取一列!你可以这样做

df['Speed']df.Speed- 不是通过df.columns属性。


推荐阅读