#python #pandas
#python #pandas
Вопрос:
Проблема: импорт файла python (EDA.py ) в записную книжку jupyter.В файле python используются pandas и в нем есть «Импортировать pandas как pd». Но в Jupyter я получаю сообщение об ошибке, что pd не определен.
Файл Python:
<EDA.py >
def eda_df(df):
import pandas as pd
print('=================Unique Values============================')
unique_series = df.apply(pd.Series.nunique).sort_values()
print(unique_series)
Записная книжка Jupyter:
import EDA
train = pd.read_csv(r'.kagglehousinghouse-prices-advanced-regression-techniquestrain.csv')
eda_df(train)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-269-86ee9695b171> in <module>
----> 1 eda_df(train)
~iCloudDriveAdnan PCData ScienceJupyter NBEDA.py in eda_df(df)
13 print('Features missing more than 40% data: ',len(missing_data_list))
14 print(missing_data_list)
---> 15 print('=================Unique Values============================')
16 unique_series = df.apply(pd.Series.nunique).sort_values()
17 unique_list = unique_series[unique_series<15].index.to_list()
NameError: name 'pd' is not defined
Комментарии:
1. А ты
import pandas as pd
? Можете ли вы включить это в свой код?2. См. Модули
3. «попробовал ввести
import pandas as pd
в функцию» — это именно правильный способ импортировать библиотеку (более по-питоновски импортировать все в верхней части файла, но это тоже работает)4. Я добавил импорт pandas как pd в файл .py (как в функции, так и выше). но все равно выдает ошибку.
Ответ №1:
Вам просто нужно импортировать pandas как pd:
import pandas as pd
def eda_df(df):
unique_series = df.apply(pd.Series.nunique).sort_values()
return (unique_series)
Комментарии:
1. Я не уверен, что код, который, по вашему мнению, выполняется, является фактическим кодом, который выполняется. Пожалуйста, опубликуйте точную трассировку стека (полное исключение) в вопросе (не в комментарии), чтобы мы могли точно видеть, что происходит. Не забудьте сделать отступ с четырьмя пробелами, чтобы пробелы не сворачивались; это можно сделать, сначала вставив копию трассировки стека, затем выбрав вставленную трассировку стека, а затем нажав Ctrl K.
2. Мой ноутбук jupyter не обновлялся и каким-то образом использовал старый файл. Спасибо, теперь это работает.