无法访问pandas数据帧中的列

时间:2014-12-05 17:28:37

标签: python python-2.7 pandas

我创建了一个像这样的DataFrame:

stock_data = pd.read_csv('http://www.google.com/finance/historical?output=csv&q=AAPL')

它有一个Date列但是当我调用stock_data['Date']时,我收到了一个关键错误。 如何访问每行的日期?

1 个答案:

答案 0 :(得分:2)

看起来有些垃圾(特别是UTF-8 BOM)进入该列名称:

In [16]: stock_data = pd.read_csv('http://www.google.com/finance/historical?output=csv&q=AAPL')

In [17]: stock_data.columns
Out[17]: Index([u'Date', u'Open', u'High', u'Low', u'Close', u'Volume'], dtype='object')

In [18]: stock_data.columns[0]
Out[18]: '\xef\xbb\xbfDate'

这就是为什么它不起作用。一个解决方法:

In [19]: stock_data.columns = [col.decode("utf-8-sig") for col in stock_data.columns]

In [20]: stock_data.columns[0]
Out[20]: u'Date'

In [21]: stock_data["Date"].head()
Out[21]: 
0     4-Dec-14
1     3-Dec-14
2     2-Dec-14
3     1-Dec-14
4    28-Nov-14
Name: Date, dtype: object