Ошибка профилирования панд AttributeError: у объекта "DataFrame" нет атрибута "profile_report"

Я хотел использовать профилирование панд для создания некоторых eda в наборе данных, но я получаю сообщение об ошибке: AttributeError: У объекта 'DataFrame' нет атрибута 'profile_report'

Я создал скрипт Python на Spyder со следующим кодом:

import pandas as pd import pandas_profiling data_abc = pd.read_csv('abc.csv') profile = data_abc.profile_report(title='Pandas Profiling Report') profile.to_file(output_file="abc_pandas_profiling.html")

AttributeError: у объекта "DataFrame" нет атрибута "profile_report"

9 ответов

Точка входа df.profile_report() доступна начиная с версии 2.0.0. Солнце отсюда

Вы установили pandas-profiling через pip или conda?

использование: pip install -U pandas-profiling чтобы решить эту проблему и перезапустить ядро

Проблема в том, что команда еще не обновила установки pip или conda (описано здесь). Если вы установили с помощью одного из них, попробуйте это в настоящее время.

profile = pandas_profiling.ProfileReport(df)
print(profile)

Для тех, кто использует google colabs, библиотека профилирования устарела, поэтому используйте команду ниже и перезапустите среду выполнения

! pip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip 

Это должно сработать для тех, кто хочет использовать последнюю версию:

  1. Пробег pip uninstall pandas_profiling из командной строки anaconda (учитывая, что вы используете Spyder, я предполагаю, что это будет ваш случай) / или командной строки
  2. Пробег pip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip

Если вы используете что-то вроде Jupyter Notebook/Jupyter Lab, обязательно перезапустите ядро ​​и повторно импортируйте свои пакеты.

Надеюсь, это поможет.

Мое решение

Для меня установка через pip выдавала ошибки, поэтому я установил ее через conda отсюда .

Пример кода

А вот пример кода для использования отчета профиля:

      import pandas as pd
from pandas_profiling import ProfileReport

data_abc = pd.read_csv('abc.csv')
profile = ProfileReport(data_abc, minimal=True)
profile.to_file("abc_pandas_profiling.html")

Чтобы прочитать файл html, я использовал следующий код

      df = pd.read_html("abc_pandas_profiling.html")
print(df[0])

Следующий код работает для меня в Google Colabs.

      !pip install pandas-profiling==2.8.0
import numpy as np
import pandas as pd
import pandas_profiling as pp
df = pd.read_csv('/content/sample_data/california_housing_train.csv')
profile = df.profile_report(title = "Data Profiling Report")
profile.to_file("ProfileReportTest.html")

Единственный обходной путь, который я обнаружил, заключался в том, что созданный мной скрипт на python выполняется из командной строки и выдает правильный вывод, но код все еще выдает ошибку в Spyder.

Если ничего из вышеперечисленного не сработало, можете ли вы проверить, установив кодировку unicode_escape в read_csv? Это может быть связано с одной из ваших колонок

       encoding = 'unicode_escape'

Попробуйте в среде conda

!pip install --user pandas-profiling
import pandas_profiling
data.profile_report()
Другие вопросы по тегам