Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ImportError: cannot import name 'ABCIndexClass' from 'pandas.core.dtypes.generic'

I have this output :

[Pandas-profiling] ImportError: cannot import name 'ABCIndexClass' from 'pandas.core.dtypes.generic'

when trying to import pandas-profiling in this fashion :

from pandas_profiling import ProfileReport

It seems to import pandas-profiling correctly but struggles when it comes to interfacing with pandas itself. Both libraries are currently up to date through conda. It doesn't seem to match any of the common problems associated with pandas-profiling as per their documentation, and I can't seem to locate a more general solution of importing the name ABCIndexClass.

Thanks

like image 360
TheCatThatBarks Avatar asked Aug 08 '21 19:08

TheCatThatBarks


4 Answers

Thanks to the @aflyingtoaster's answer, the following workaround has worked fine for me:

  1. Edit the file "~/[your_conda_env_path]/lib/site-packages/visions/dtypes/boolean.py"
  2. Find the row "from pandas.core.dtypes.generic import ABCIndexClass, ABCSeries" and just replace ABCIndexClass for ABCIndex.
  3. Save the boolean.py file and enjoy your report!
like image 156
tbnsilveira Avatar answered Nov 18 '22 17:11

tbnsilveira


Pandas v1.3 renamed the ABCIndexClass to ABCIndex. The visions dependency of the pandas-profiling package hasn't caught up yet, and so throws an error when it can't find ABCIndexClass. Downgrading pandas to the 1.2.x series will resolve the issue.

Alternatively, you can just wait for the visions package to be updated.

like image 20
aflyingtoaster Avatar answered Nov 18 '22 17:11

aflyingtoaster


ABCIndexclass to ABCIndex

go to user>annaconda 3>Lib> site package > visions > dtypes > boolean.py

open boolean.py in words

go to line where it says ABCIndexclass and change it to ABCIndex

like image 2
Dhaval Desai Avatar answered Nov 18 '22 18:11

Dhaval Desai


I had this issue in colab and none of the previous answers covered that environment, so I'd like to share what works for me - !pip install https://github.com/ydataai/pandas-profiling/archive/master.zip which just simply install the latest pandas-profiling instead of the default one or 2.7.1 etc

like image 1
uniquegino Avatar answered Nov 18 '22 17:11

uniquegino