pandas_profiling основной метод не работает правильно ... Конструктор работает, но не метод - PullRequest
0 голосов
/ 29 июня 2019

df.profile_report () завершается ошибкой сразу после установки с использованием import pandas_profiling

Пакет установлен правильно, потому что я могу создать отчет в Jupyter, импортировав и используя только конструктор ProfileReport (df). Однако синтаксис df.profile_report () не работает.

Когда я запускаю df.profile_report (), я получаю сообщение об ошибке ниже:

```AttributeError Traceback (most recent call last)
in 
----> 1 df.profile_report()

C:\Anaconda3\envs\quantecon\lib\site-packages\pandas\core\generic.py in getattr(self, name)
5065 if self._info_axis._can_hold_identifiers_and_holds_name(name):
5066 return self[name]
-> 5067 return object.getattribute(self, name)
5068
5069 def setattr(self, name, value):

AttributeError: 'DataFrame' object has no attribute 'profile_report'
```

Информация о версии: Python 3.7.1 панды == 0.24.2

```import numpy as np
import pandas as pd
from pandas_profiling import ProfileReport

# The dataframe is the same as the tutorial example given by the author.  

df = pd.DataFrame(np.random.rand(100, 5), columns=['a', 'b', 'c', 'd', 'e'])    

df.profile_report() # this fails.```

Что еще я пробовал, это работает следующим образом: из pandas_profiling import ProfileReport ... шаги для создания фрейма данных df ProfileReport (ДФ)

Использование конструктора ProfileReport (df) само по себе, по крайней мере, дает мне отчет в моей записной книжке Jupyter. Из-за этого я знаю, что пакет установлен и работает. Однако маршрут object.method () для получения отчета не работает. Но многие другие методы используют синтаксис object.method ().

Я не могу заставить работать какие-либо кадры с методом df.profile_report ().

```import numpy as np
import pandas as pd
from pandas_profiling import ProfileReport

# The dataframe is the same as the tutorial example given by the author.  

df = pd.DataFrame(
    np.random.rand(100, 5),
    columns=['a', 'b', 'c', 'd', 'e']
)    

df.profile_report() # this fails.
ProfileReport(df)  # this works, but `df.profile_report()` does not work.
```

Я думаю, что не так ...?

Поскольку ошибка pandas ссылается на «generic.py» для Pandas Core DataFrame, а ошибка - «нет атрибута» profile_report », возможно, это декоратор оборачивает объект dataframe и модифицирует его, чтобы дать ему дополнительный атрибут Метод .profile_report () ?? Это мое предположение. Я не знаю, что является причиной ошибки, так как она работает, когда я "заглядываю под одеяло" и использую конструктор отчета напрямую. Я просто не могу использовать другие методы, которые полагаются в синтаксисе object.method ().

1 Ответ

1 голос
/ 04 июля 2019

Синтаксис .profile_report() был введен в pandas_profiling версии 2.

Вы можете установить эту версию через pip: pip install pandas-profiling.

РЕДАКТИРОВАТЬ

Способ импорта пакета:

import pandas_profiling

в соответствии с вашим текущим подходом

from pandas_profiling import ProfileReport

...