KeyError 尽管在 read_csv() 处定义了名称

KeyError despite definition of names at read_csv()

我正在尝试打印 pandas.dataframe 的一列。然而,尽管我在 pandas.read_csv().

中使用 names 参数明确指定了列名,但它一直失败

给定以下代码:

data = pd.read_csv(filename, sep='\t',
                   names=['Symbol', 'Date', 'Type', 'Value'],
                   index_col=[0])
print(data)

产生这个:

             Date      Type         Value
Symbol                                       
benchmark  2011-12-01       dax  1.422847e+08
benchmark  2011-12-02       dax  1.958363e+08
benchmark  2011-12-05       dax  1.922807e+08
benchmark  2011-12-06       dax  1.477339e+08
benchmark  2011-12-07       dax  1.354372e+08

但是这个: 打印(数据['Date'])

产生这个:

KeyError: 'Date'

据我所知,我正在做与 McKinney 在第 123 页的 Python for Data Analysis 中描述的完全相同的事情。除了那个错误之外我没有得到任何输出。

数据格式如下:

Symbol\t2015-01-01\tType\tFloat_Value

我错过了什么?

确保您的列名中没有空格

您可以尝试使用 sep='\s+' 代替:

data = pd.read_csv(filename, sep='\s+',
                   names=['Symbol', 'Date', 'Type', 'Value'],
                   index_col=[0])