AttributeError: модуль 'pandas.compat' не имеет атрибута 'iteritems' - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь импортировать pandas-ml , но получаю эту ошибку импорта. В чем может быть проблема?

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-4-fd3c3c034481> in <module>
----> 1 import pandas_ml as pml

AttributeError: module 'pandas.compat' has no attribute 'iteritems' ```


Ответы [ 2 ]

0 голосов
/ 14 октября 2019
File "/usr/local/lib/python3.7/site-packages/pandas_ml/core/accessor.py", line 81, in _update_method_mapper
    for key, class_dict in compat.iteritems(cls._method_mapper):
AttributeError: module 'pandas.compat' has no attribute 'iteritems'

У меня такая же ошибка с python3.7. Я решил это, изменив iteritems() на items().

В @classmethod на accessor.py есть две строки, изменив их на:

 for key, class_dict in cls._method_mapper.items():
'
'
'
      class_dict = {k: getattr(cls, m) for k, m in class_dict.items()}

Для моей версии у меня естьтакже встречается другая ошибка импорта ImportError: cannot import name 'range' from 'pandas.compat' в файле "/usr/local/lib/python3.7/site-packages/pandas_ml/confusion_matrix/stats.py". просто удалите from pandas.compat import range.

Ссылка:

https://github.com/pandas-dev/pandas/commit/e26e2dfe6e93922830fb5fb7868b87238b85911a#diff-21f71fbdb0d3dfa55dc948e2ddcddc92

0 голосов
/ 14 октября 2019

Атрибут iteritems для pandas.compat, кажется, был недавно удален, так как видно здесь (подсказка из этого источника ).

В другихсловами, ваша текущая версия pandas несовместима с pandas-ml в настоящее время.

В выпуске GitHub предлагается, возможно, понизить версию pandas.

# Installed using pip
pip install pandas==0.24.2

# Installed using conda
conda install pandas==0.24.2

Вы можете запустить следующеев Python REPL дважды проверьте версию пакета pandas, чтобы увидеть, превышает ли она 0.25.0.

import pandas

print(pandas.__version__)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...