完美解决ModuleNotFoundError: No module named '_bz2'和AttributeError: module 'pandas' has no attribute 'co...

笔者环境:操作系统Ubuntu,Python3.7.4

最近笔者在虚拟机上安装pandas时候遇到了各种各样的问题,在导入pandas包时就提示出错。然后借助查找各种资料最终解决了问题。

第一个错误就如上述ModuleNotFoundError: No module named '_bz2',在查阅资料后发现是虚拟机中安装的Python3.7没有_bz2.cpython-37m-x86_64-linux-gnu.so这个文件,但是可以在3.6版本中找到该文件。

随后笔者在Python3.6的安装目录中找到了_bz2.cpython-36m-x86_64-linux-gnu.so,然后通过指令将这个文件copy到了3.7.4的对应目录中,然后将_bz2.cpython-36m-x86_64-linux-gnu.s重命名为_bz2.cpython-37m-x86_64-linux-gnu.so后,再次运行代码就不提示错误了。

但是运行出来还是错误的,接下来就提示了另一个错误AttributeError: module 'pandas' has no attribute 'compat',笔者在网上查阅相关资料,有建议降低pandas版本的,还有建议升级版本的。笔者在重装了几次新旧版本后,此问题都未得到解决。后来仔细观察错误发现,错误代码在pandas的__init__.py文件中的if pandas.compat.PY37这个方法中。

其中有一个警告,大概意思是Panel这个类已经从pandas中移除。然后笔者在开发文档v0.20.1中找到了这样一段话:

Deprecate Panel

Panelis deprecated and will be removed in a future version. The recommended way to represent 3-D data are with a MultiIndexon a DataFramevia the to_frame()or with the xarray package . Pandas provides a to_xarray()method to automate this conversion ( GH13563 ).

大致意思就是Panle在以后的版本中都会移除,取而代之的是multiindexon或dataframevia to_frame()或xarray来表示三维数据。

笔者尝试将if else方法注释掉后,所有错误均被解决,但是Panel类已经不能再用了。

目前使用中没有遇到任何其他问题。

转载于:https://www.cnblogs.com/ikww/p/11544020.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值