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) |
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现