ImportError: невозможно импортировать имя «ABCIndexClass» из «pandas.core.dtypes.generic»

avatar
TheCatThatBarks
8 августа 2021 в 19:17
9280
7
13

У меня есть этот вывод:

[Pandas-profiling] ImportError: невозможно импортировать имя «ABCIndexClass» из «pandas.core.dtypes.generic»

при попытке импортировать профилирование панд таким образом:

from pandas_profiling import ProfileReport

Кажется, он корректно импортирует профилирование pandas, но возникают проблемы, когда дело доходит до взаимодействия с самим pandas. Обе библиотеки в настоящее время обновлены через conda. Похоже, что это не соответствует ни одной из распространенных проблем, связанных с профилированием pandas, согласно их документации, и я не могу найти более общее решение для импорта имени ABCIndexClass.

Спасибо

Источник
mozway
8 августа 2021 в 19:19
0

У меня нет ошибки при запуске `from pandas_profiling import ProfileReport`, убедитесь, что все ваши модули и панды действительно обновлены.

Ответы (7)

avatar
tbnsilveira
23 сентября 2021 в 17:58
14

Благодаря ответу @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 и наслаждайтесь своим отчетом!
Adam Jaamour
18 ноября 2021 в 13:57
2

Работает как шарм, лучшее решение imo, поскольку оно не требует от вас понижения версии панд.

Vaib
7 декабря 2021 в 06:34
2

Спасибо. Это сработало для меня как шарм. Вот расположение файла boolean.py C:\Users\MyUser\anaconda3\Lib\site-packages\visions\dtypes

Ray Walker
23 февраля 2022 в 12:01
1

Также нравится это решение больше. Для меня в экземпляре Azure Compute на базе Linux правильный путь был /anaconda/envs/azureml_py38/lib/python3.8/site-packages/visions/dtypes/boolean.py.

avatar
uniquegino
12 мая 2022 в 02:52
0

У меня была эта проблема в colab, и ни один из предыдущих ответов не охватывал эту среду, поэтому я хотел бы поделиться тем, что работает для меня - !pip install https://github.com/ydataai/pandas-profiling/archive/master.zip, который просто устанавливает последнее профилирование панд вместо стандартного или 2.7 .1 и т.д.

avatar
user2627386
11 мая 2022 в 07:37
0

Проблема с pandas 1.3.x.

В качестве альтернативы можно понизить версию пакета pandas до 1.2.x.

Вы можете сделать это из Anaconda Navigator. Перейдите к Environments и понизьте пакет панд.

Мне помогло.

avatar
Travis Vadnais
5 мая 2022 в 14:23
0

Для пользователей MacOS мне нужен был этот путь:

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

У меня также сработало удаление 'index' из 'ABCClassIndex'.

avatar
juanbretti
16 апреля 2022 в 12:22
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
  • ...

Позже используйте этот интерфейс командной строки для установки пакета

conda install -c conda-forge pandas-profiling

Это сработало для меня при использовании https://repo.anaconda.com/archive/Anaconda3-2021.11-Windows-x86_64.exe

avatar
Dhaval Desai
12 января 2022 в 23:01
2

ABCIndexclass в ABCIndex

перейдите к пользователю>annaconda 3>Lib> site package>visions>dtypes>boolean.py

открыть boolean.py словами

перейдите к строке, где написано ABCIndexclass, и измените ее на ABCIndex

cqi
28 марта 2022 в 23:44
0

интересный обходной путь, и он работает. Очевидно, что это не очень хорошо с точки зрения целостности пакета и совместимости, но мне нравится эта маленькая настройка как короткий путь.

avatar
aflyingtoaster
9 августа 2021 в 19:19
16

Pandas v1.3 переименовал ABCIndexClass в ABCIndex. Зависимость visions пакета pandas-profiling еще не догнала, и поэтому выдает ошибку, когда не может найти ABCIndexClass. Понижение версии панд до версии 1.2.x решит проблему.

В качестве альтернативы вы можете просто дождаться обновления пакета visions.

Quinlayen
23 августа 2021 в 04:15
2

Это сработало для меня. Просто снова запустите установку pandas, указав v1.2. Надеюсь, это скоро будет исправлено.

Simon
4 декабря 2021 в 20:40
0

Обновление в пути: github.com/dylan-profiler/visions/pull/192

user189265
6 января 2022 в 23:13
0

@ Саймон есть слово?

Ankhnesmerira
8 апреля 2022 в 07:20
0

Я была такая же проблема. Все, что мне нужно было сделать, это «обновить видения conda», и теперь это работает.