为啥在尝试获取数据分析报告时会出现 IndexError?

Posted

技术标签:

【中文标题】为啥在尝试获取数据分析报告时会出现 IndexError?【英文标题】:why do I get IndexError while trying to get data profiling report?为什么在尝试获取数据分析报告时会出现 IndexError? 【发布时间】:2020-05-29 22:27:28 【问题描述】:

我最近开始使用 python。而且,我正在尝试使用 pandas_profiling 获取报告,但遇到了 IndexError。有人可以解释一下我该如何调试吗?

数据有大约 30 个变量和大约 800,000 行。

到目前为止,我正在尝试将 csv 文件读入数据框并使用 pandas 分析对其进行分析。 [部分来自使用标准库和包。

提前致谢

import numpy as np
import pandas as pd
from pandas_profiling import ProfileReport
df_s = pd.read_csv(r'<file_path>')
ProfileReport(df_s)

Error below




---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\IPython\core\formatters.py in __call__(self, obj)
    343             method = get_real_method(obj, self.print_method)
    344             if method is not None:
--> 345                 return method()
    346             return None
    347         else:

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas_profiling\__init__.py in _repr_html_(self)

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas_profiling\__init__.py in to_widgets(self)

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas_profiling\report\presentation\flavours\widget\sequence.py in render(self)
     95 
     96         elif self.sequence_type in ["tabs", "sections"]:
---> 97             widget = get_tabs(self.content["items"])
     98         elif self.sequence_type == "accordion":
     99             widget = get_accordion(self.content["items"])

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas_profiling\report\presentation\flavours\widget\sequence.py in get_tabs(items)
     16     titles = []
     17     for item in items:
---> 18         children.append(item.render())
     19         titles.append(get_name(item))
     20 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas_profiling\report\presentation\flavours\widget\sequence.py in render(self)
     97             widget = get_tabs(self.content["items"])
     98         elif self.sequence_type == "accordion":
---> 99             widget = get_accordion(self.content["items"])
    100         elif self.sequence_type == "grid":
    101             widget = get_row(self.content["items"])

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas_profiling\report\presentation\flavours\widget\sequence.py in get_accordion(items)
     59     titles = []
     60     for item in items:
---> 61         children.append(item.render())
     62         titles.append(get_name(item))
     63 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas_profiling\report\presentation\flavours\widget\preview.py in render(self)
      9         else:
     10             items = [self.content["top"]]
---> 11         return WidgetSequence(items, sequence_type="variable").render()

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas_profiling\report\presentation\flavours\widget\sequence.py in render(self)
     75         elif self.sequence_type == "variable":
     76             i1 = self.content["items"][0].render()
---> 77             i2 = self.content["items"][1].render()
     78             toggle = widgets.ToggleButton(description="Toggle details")
     79 

IndexError: list index out of range


【问题讨论】:

如果没有数据示例(和最小示例),将很难对其进行调试。此外,附加调试可能会有所帮助。 嗨,你知道了吗? 【参考方案1】:

我遇到了同样的错误,然后我减少了 df_s 的数量并且它起作用了。你可以试一试。

示例:

ProfileReport(df_s[:10000])

【讨论】:

以上是关于为啥在尝试获取数据分析报告时会出现 IndexError?的主要内容,如果未能解决你的问题,请参考以下文章

为啥创建/更新通知时会出现 RemoteServiceException?

为啥在尝试定义函数体时会出现此编译器错误?

为啥在尝试访问 HTML 表中的前两列时会出现错误?

OCMock:为啥在尝试调用 UIWebView 模拟时会出现无法识别的选择器异常?

为啥IE在设置innerHTML时会出现意外错误

为啥使用 Java 将数据发布到网站时会出现 405 错误?