7.Python使用pandans遇到的坑

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

1
2
3
4
5
6
7
8
9
10
11
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.修改后的代码如下所示:

1
2
3
4
5
6
7
8
9
10
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的数据源已经失效,使用另一个数据源即可,最后代码如下所示:

1
2
3
4
5
6
7
8
9
10
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)
posted @   廖丹  阅读(6546)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示