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)

猜你喜欢

转载自www.cnblogs.com/android-it/p/9510598.html
今日推荐