我创建了一个像这样的DataFrame:
stock_data = pd.read_csv('http://www.google.com/finance/historical?output=csv&q=AAPL')
它有一个Date
列但是当我调用stock_data['Date']
时,我收到了一个关键错误。
如何访问每行的日期?
答案 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