我正在对我的数字数据进行探索性数据分析,我试图运行熊猫分析,但是生成报告结构时出错了。
import pandas as pd
from pandas_profiling import ProfileReport
df = pd.read_csv('mydatadata.csv')
print(df)
profile = ProfileReport(df)
profile.to_file(output_file="mydata.html")错误日志如下所示
汇总数据集: 99%|███████████████████████████████████████████████████████████████████████▌| 1144/1150 46:07<24:03,240.60/it,计算cramers correlationC:\Users\USER\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas_profiling\model\correlations.py:101: UserWarning:有人试图计算cramers之间的相关性,但是失败了。若要隐藏此警告,请禁用计算(如果使用
df.profile_report(correlations={"cramers": {"calculate": False}})对用例有问题,请将其报告为问题:https://github.com/pandas-profiling/pandas-profiling/issues (包括错误消息:“无数据;observed大小为0”)。(汇总数据集: 100%|██████████████████████████████████████████████████████████████████████████████████▋| 1145/1150 46:19<17:32,210.49s/it,获取分散matrixFail以分配位图)
发布于 2021-06-09 12:18:25
原因您的代码可能失败了
如果您的代码因与我的代码相同的原因而失败,请选择:
可能在代码中修复
有一个解决办法,这是记录在用于熊猫-大型数据集下的特征分析页面上的。其中有一个例子:
from pandas_profiling import ProfileReport
profile = ProfileReport(large_dataset, minimal=True)
profile.to_file("output.html")可能修复的熊猫-剖析源?
我也犯了同样的错误。我试着查找它,它似乎来自Matplotlib,内存泄漏。意思是,情节在形成时没有被适当地抹去。我尝试将以下内容添加到visualization文件夹的utils.py文件中:
plt.clf()
plt.cla()
plt.close('all')那里的代码最初有plt.close(),我在过去发现,当背靠背绘制多个情节时,这是不够的。然而,我仍然得到了这个错误,这使我认为它可能不是Matplotlib (或者我错过了它)。
上面的minimal=True修复可能有时会起作用。当我的数据集太大时,我偶尔也会失败。
发布于 2021-09-15 09:55:04
我也遇到了那个错误案例。对配置文件设置的个人实验将事情缩小到生成的情节的数量,或者在运行时执行之前一直请求生成。在我的实验中,不同的是需要交互图的PlotReport()概要文件生成的序列号:总体上绘制的交互图越少,这个错误就越少。
通过多处理Pool.map()调用来隔离进程可能会有所帮助,如果您只是试图生成单个配置文件,而且您绝对需要所有交互图,但这是一个时间和/或RAM-贪婪的选项,它需要通过实例联接来创造性地为来自较小的DataFrames的交互图配对列值,例如,更多的报告。
无论如何,由于ProfileReport配置设置的文档很糟糕,下面是我错乱地找出了哪些您可能应该研究的文档:
祝您好运,不要害怕尝试其他选项,比如DataPrep。我真希望在掉进这个兔子洞之前就这么做了。
https://stackoverflow.com/questions/67327510
复制相似问题