栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pandas-profiling的降级之旅

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas-profiling的降级之旅

标签:2021.09.28工作内容
背景:做EDA分析,想要利用pandas-profling的集成工具,实现一键EDA自动化流程。而pandas-profiling是python封装好的库,能够使用Dataframe自动生成数据的详细报告并能自动生成网页进行可视化。但理想和现实总是有差距,这个过程出现了很多error,主要原因都是由pandas-profiling的版本与环境不兼容导致的,谨以此文记入这些error和解决办法供大家参考。

[Pandas-profiling] importError: cannot import name ‘ABCIndexClass’ from ‘pandas.core.dtypes.generic’

这是在安装后的第一个报错,发生于import pandas语句。
经过调研,发现该问题是由于pip安装时,会安装pandas-profiling的最新版,但是:

Pandas v1.3 renamed the ABCIndexClass to ABCIndex. The visions dependency of the pandas-profiling package hasn’t caught up yet, and so throws an error when it can’t find ABCIndexClass.
即pandas已经升级了,但是pandas-profiling并没升级,它们两个中的同一个类有不同的类名对不上,所以出现了这个报错。

解决办法:
Downgrading pandas to the 1.2.x series will resolve the issue.
我重新安装了1.2.0版本的pandas-profiling包

module ‘pandas.core.common’ has no attribute ‘is_numeric_dtype’

这个时候import pandas-profiling不会再出现报错了,可是report=ProfilieReport(df)这一步时会出现新的报错。
经过调研,发现该问题是由于:
pandas.core.common.is_numeric_dtype was removed in 0.23.

解决办法:总的来说还是pandas的版本太高了,有两种解决办法,一种就是降低pandas的等级至0.22,另一种就是自己重新配置一下pandas(不建议)。

代码
from pandas_profiling import ProfileReport
report=ProfileReport(df)
report.to_file(output_file='output.html')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/273165.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号