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