如何在 jupyter 笔记本中使用 pandas 分析时修复此错误

Pra*_*ari 2 python jupyter-notebook pandas-profiling

每次我在不同的数据集中使用 pandas 分析时,笔记本都会显示此错误。

IndexError:只有整数、切片 ( :)、省略号 ( ...)、numpy.newaxis ( None) 和整数或布尔数组是有效索引。

import pandas as pd

df = pd.read_csv('H:\DATA Sets\cereal.csv')

from pandas_profiling import ProfileReport

profile = ProfileReport(df,title='cereal-eda',html={'style' : {'full_width':True}})
Run Code Online (Sandbox Code Playgroud)

使用的数据集 - 来自kaggle的gray.csv https://www.kaggle.com/crawford/80-cereals

jrb*_*gen 6

编辑:已发布 PR 来解决此问题。使用 Pandas 1.4 似乎存在问题。[01] 请参阅pandas-profiling 的 github 上的此问题

我认为发生该错误是因为 Numpy 以 pandas-profiling 模块之一使用的方式弃用了索引数组。

如果您得到的回溯与我在 中发生此错误的位置相同pandas_profiling.model.pandas.utils_pandas,您应该能够通过更改来解决此问题:

w_median = data[weights == np.max(weights)][0]

w_median = data[np.where(weights == np.max(weights))][0]

weighted_median函数中$(YOUR_VIRTUAL_ENVIRONMENT_OR_PYTHON_DIR)/lib/python$(PYVERSION)/site-packages/pandas-profiling/model/pandas/utils_pandas.py

(pandas-profiling 版本 3.1.0 的第 13 行)