7.Python使用pandans遇到的坑

1.开始入门Pandas,而后跟着网上的例子,编写如下代码:python

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' web

3.查找网上教程,发现pandas.io.data已经用不成了,得替换为pandas_datareader,故在dos命令输入:pip3 install pandas_datareader,在pycharm-setting导入api

4.修改后的代码以下所示:code

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'blog

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.继续修改代码后,运行,依旧报错,报错信息以下:ip

8.依旧寻找教程,发现错误缘由为:Yahoo的数据源已经失效,使用另外一个数据源便可,最后代码以下所示:pycharm

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)
相关文章
相关标签/搜索