无法从 'pandas.core.dtypes.generic' 导入 'ABCIndexClass' 名称。

19

我有这个输出:

[Pandas-profiling] ImportError: 无法从 'pandas.core.dtypes.generic' 导入 'ABCIndexClass'

尝试以这种方式导入pandas-profiling时出现此错误:

from pandas_profiling import ProfileReport

看起来成功导入了pandas-profiling,但在与pandas本身交互时遇到了困难。两个库都通过conda保持最新状态。根据其文档,它似乎没有任何与pandas-profiling相关的常见问题,并且我似乎找不到更通用的导入名称ABCIndexClass的解决方案。

谢谢


我在运行 from pandas_profiling import ProfileReport 时没有出现错误,请检查您的所有模块和 pandas 是否真正更新到最新版本。 - mozway
9个回答

23

感谢 @aflyingtoaster 的回答,以下的解决方法对我很有效:

  1. 编辑文件“~/[your_conda_env_path]/lib/site-packages/visions/dtypes/boolean.py”
  2. 找到“from pandas.core.dtypes.generic import ABCIndexClass, ABCSeries”的那一行,仅替换ABCIndexClass为ABCIndex。
  3. 保存 boolean.py 文件并享受您的报告!

3
效果很好,我认为这是更好的解决方案,因为它不需要将 pandas 版本降级。 - Adam Jaamour
2
谢谢。这对我来说非常有效。这是boolean.py文件的位置 C:\Users\MyUser\anaconda3\Lib\site-packages\visions\dtypes - Vaib
1
我更喜欢这个解决方案。对于我在基于Linux的Azure计算实例上,正确的路径是“/anaconda/envs/azureml_py38/lib/python3.8/site-packages/visions/dtypes/boolean.py”。 - Ray Walker

20

Pandas v1.3将ABCIndexClass重命名为ABCIndex。然而,pandas-profiling包的依赖库visions尚未跟上步伐,因此在找不到ABCIndexClass时会引发错误。将Pandas降级到1.2.x系列即可解决该问题。

或者,您可以等待visions包更新。


2
这对我有用。只需再次运行pandas安装,指定v1.2即可。希望这个问题很快就会得到解决。 - Quinlayen
更新正在路上:https://github.com/dylan-profiler/visions/pull/192 - Simon
@Simon 有什么消息吗? - user189265
我曾经遇到过同样的问题。我所需要做的就是“conda update visions”,现在它可以正常工作了。 - Ankhnesmerira

2

我在colab中遇到了这个问题,之前的答案都没有涉及到这个环境,所以我想分享一下对我有用的方法 - !pip install https://github.com/ydataai/pandas-profiling/archive/master.zip,这只是简单地安装最新版本的pandas-profiling而不是默认的版本或2.7.1等。


2

将ABCIndexclass转换为ABCIndex

进入用户>annaconda 3>Lib>site package>visions>dtypes>boolean.py

打开boolean.py文件

找到标有ABCIndexclass的那一行,并将其改为ABCIndex


有趣的解决方法,而且它有效。显然,从软件包完整性和兼容性方面来看并不好,但我喜欢这个小技巧作为一种捷径。 - cqi

0
如果您正在使用Anaconda发行版,另一种解决方案是首先更新。
conda update --all

然后删除与 pandas_profiling 相关的每个文件夹,位于 ~/[your_conda_env_path]/Lib/site-packages/。 例如:

  • pandas_profiling
  • pandas_profiling-1.4.1-py2.7.egg-info
  • ...

之后,使用此 CLI 安装软件包。

conda install -c conda-forge pandas-profiling

在我使用https://repo.anaconda.com/archive/Anaconda3-2021.11-Windows-x86_64.exe时,它有效。


0

对于 MacOS 用户而言,我所需的路径是:

/opt/anaconda3/pkgs/visions-0.5.0-pyhd3eb1b0_0/site-packages/visions/dtypes/boolean.py

我也尝试了从“ABCClassIndex”中删除“index”,这对我也起作用了。


0

问题出在 pandas 1.3.x 版本。

或者将 pandas 包降级到 1.2.x 版本。

您可以通过 Anaconda Navigator 进行操作。转到 环境 并降级 pandas 包。

这对我起作用了。


0

对于Colab用户,您可以尝试升级到3.4.0

pip install pandas-profiling==3.4.0

这个问题在这个版本中已经解决。


-2

刚刚安装了“visions”包,它为我解决了问题。

pip install visions


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接