7.Python使用pandans遇到的坑
1.开始入门Pandas,然后跟着网上的例子,编写以下代码:
import pandas as pd import datetime import pandas.io.data as web start = datetime.datetime(2010,1,1) end = datetime.datetime(2015,8,22) df = web.DataReader('XOM','yahoo',start,end) print(df)
2.一运行报错信息为:ModuleNotFoundError: No module named 'pandas.io.data'
3.查找网上教程,发现pandas.io.data已经用不成了,得替换为pandas_datareader,故在dos命令输入:pip3 install pandas_datareader,在pycharm-setting导入
4.修改后的代码如下所示:
import pandas as pd import datetime import pandas_datareader.data as web start = datetime.datetime(2010,1,1) end = datetime.datetime(2015,8,22) df = web.DataReader('XOM','yahoo',start,end) print(df)
5.依旧报错:ImportError: cannot import name 'is_list_like'
6.查找网上教程后,需要去fred.py中修改信息,在pycharm报错信息中,点击C:\Users\Adinistrator\venv\Demo4\lib\site-packages\pandas_datareader\fred.py中,将from pandas.core.common import is_list_like替换为:from pandas.api.types import is_list_like(正确方式)
7.继续修改代码后,运行,依旧报错,报错信息如下:
8.依旧寻找教程,发现错误原因为:Yahoo的数据源已经失效,使用另一个数据源即可,最后代码如下所示:
import pandas as pd import datetime import pandas_datareader.data as web start = datetime.datetime(2010,1,1) end = datetime.datetime(2015,8,22) df = web.DataReader('F-F_Research_Data_factors','famafrench',start,end) print(df)