首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能对使用熊猫分析的数字数据分配位图错误

未能对使用熊猫分析的数字数据分配位图错误
EN

Stack Overflow用户
提问于 2021-04-30 02:39:03
回答 2查看 599关注 0票数 4

我正在对我的数字数据进行探索性数据分析,我试图运行熊猫分析,但是生成报告结构时出错了。

代码语言:javascript
复制
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以分配位图)

EN

回答 2

Stack Overflow用户

发布于 2021-06-09 12:18:25

原因您的代码可能失败了

如果您的代码因与我的代码相同的原因而失败,请选择:

  1. 尝试同时制作多个配置文件
  2. 尝试使用大型数据集以变量的形式创建配置文件

可能在代码中修复

有一个解决办法,这是记录在用于熊猫-大型数据集下的特征分析页面上的。其中有一个例子:

代码语言:javascript
复制
    from pandas_profiling import ProfileReport
    profile = ProfileReport(large_dataset, minimal=True)
    profile.to_file("output.html")

可能修复的熊猫-剖析源?

我也犯了同样的错误。我试着查找它,它似乎来自Matplotlib,内存泄漏。意思是,情节在形成时没有被适当地抹去。我尝试将以下内容添加到visualization文件夹的utils.py文件中:

代码语言:javascript
复制
    plt.clf()
    plt.cla()
    plt.close('all')

那里的代码最初有plt.close(),我在过去发现,当背靠背绘制多个情节时,这是不够的。然而,我仍然得到了这个错误,这使我认为它可能不是Matplotlib (或者我错过了它)。

上面的minimal=True修复可能有时会起作用。当我的数据集太大时,我偶尔也会失败。

票数 0
EN

Stack Overflow用户

发布于 2021-09-15 09:55:04

我也遇到了那个错误案例。对配置文件设置的个人实验将事情缩小到生成的情节的数量,或者在运行时执行之前一直请求生成。在我的实验中,不同的是需要交互图的PlotReport()概要文件生成的序列号:总体上绘制的交互图越少,这个错误就越少。

通过多处理Pool.map()调用来隔离进程可能会有所帮助,如果您只是试图生成单个配置文件,而且您绝对需要所有交互图,但这是一个时间和/或RAM-贪婪的选项,它需要通过实例联接来创造性地为来自较小的DataFrames的交互图配对列值,例如,更多的报告。

无论如何,由于ProfileReport配置设置的文档很糟糕,下面是我错乱地找出了哪些您可能应该研究的文档:

  • vars.cat.words --布尔值,触发字符串/分类变量的字云图生成,可能不需要它。
  • missing_diagrams.bar --布尔值,如果不需要图,请关闭
  • missing_diagrams.matrix --布尔值,如果不需要图,请关闭
  • missing_diagrams.heatmap --布尔值,如果不需要图,请关闭
  • missing_diagrams.dendrogram --布尔值,如果不需要图,请关闭
  • correlations.everythingthatisn'tpearsonifyoudon'tneedit --布尔值,如果图是不必要的,请关闭。
  • interactions.targets - Python列表。在这里指定一个或多个列名将限制交互图仅限于涉及这些变量的图。如果您无法忍受在生成报告之前删除列,这可能就是您要寻找的内容。
  • interactions.continuous --布尔,如果你只是不想要交互,就关掉它。
  • plot.image_format --字符串,'svg‘或'png',我猜有一个数据结构大小的差异,它可能与另一个人正在发生的明显内存泄漏有关,也可能与之无关,但还是去计算吧。
  • plot.dpi --整数,指定绘制图像的dpi,同样可能与明显的内存泄漏有关。
  • plot.pie.max_unique --整数,设置为0以禁用偶尔绘制的饼图,同样也可能与图形绘图中明显的内存泄漏有关。

祝您好运,不要害怕尝试其他选项,比如DataPrep。我真希望在掉进这个兔子洞之前就这么做了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67327510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档