gpt4 book ai didi

从 Pandas DataFrame 调用列数据时出现 Python 错误

转载 作者:太空狗 更新时间:2023-10-30 02:41:21 25 4
gpt4 key购买 nike

我正在练习将股票市场数据从 Google Finance 导入 Pandas DataFrame:

import pandas as pd
from pandas import Series

path = 'http://www.google.com/finance/historical?cid=542029859096076&startdate=Sep+22%2C+2001&enddate=Sep+20%2C+2016&num=30&ei=3HvhV4n3D8XGmAGp4q74Ag&output=csv'
df = pd.read_csv(path)

到目前为止一切顺利,df 还显示了我需要的完整数据集。

但是,当调用特定列时,例如

df['Date']

Python 显示以下错误代码:

Traceback (most recent call last):

File "<ipython-input-31-cb486dd31fbc>", line 1, in <module>
df['Date']

File "/Users/Username/anaconda/lib/python3.5/site-packages/pandas/core/frame.py", line 1997, in __getitem__
return self._getitem_column(key)

File "/Users/Username/anaconda/lib/python3.5/site-packages/pandas/core/frame.py", line 2004, in _getitem_column
return self._get_item_cache(key)

File "/Users/Username/anaconda/lib/python3.5/site-packages/pandas/core/generic.py", line 1350, in _get_item_cache
values = self._data.get(item)

File "/Users/Username/anaconda/lib/python3.5/site-packages/pandas/core/internals.py", line 3290, in get
loc = self.items.get_loc(item)

File "/Users/Username/anaconda/lib/python3.5/site-packages/pandas/indexes/base.py", line 1947, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))

File "pandas/index.pyx", line 137, in pandas.index.IndexEngine.get_loc (pandas/index.c:4154)

File "pandas/index.pyx", line 159, in pandas.index.IndexEngine.get_loc (pandas/index.c:4018)

File "pandas/hashtable.pyx", line 675, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12368)

File "pandas/hashtable.pyx", line 683, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12322)

KeyError: 'Date'

另一方面,df['High'] 等其他列证明是可以的。无论如何我可以解决这个问题吗?

最佳答案

此 CSV 文件包含 BOM (Byte Order Mark) signature , 所以这样试试:

df = pd.read_csv(path, encoding='utf-8-sig')

如何轻松识别此问题(感谢 @jezrael's hint ):

In [11]: print(df.columns.tolist())
['\ufeffDate', 'Open', 'High', 'Low', 'Close', 'Volume']

注意第一列

注意:作为@ayhan注意到了,从0.19.0版本开始Pandas will take care of it automatically :

pd.read_csv() 中的错误导致 BOM 文件因未忽略 BOM 而被错误解析 GH4793

关于从 Pandas DataFrame 调用列数据时出现 Python 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39601251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com