Nano Hash - криптовалюты, майнинг, программирование

Импорт функций в Jupyter Notebook с ошибкой имени

Я работаю с ноутбуком Jupyter на экземпляре AWS Sagemaker. Для удобства я написал файл .py с парой определенных функций;

#function to gather the percent of acts in each label feature combo

def compute_pct_accts(data, label_cnt):
"""
data is the output from aggregate_count
labe_cnt gives the breakdown of data for each target value
"""

label_data_combined = pd.merge(data, label_cnt, how='inner', left_on= 'label', right_on = 'label')
label_data_combined['Act_percent'] = np.round((label_data_combined['ACT_CNT']/label_data_combined['Total_Cnt'])*100,2)
return label_data_combined


#write a function to perform aggregation for target and feature column

def aggregate_count(df, var, target):

"""
df is the dataframe,
var is the feature name
target is the label varaible(0 or 1)
"""

label_var_cnt = df.groupby([var,target],observed=True)['ID'].count()
label_var_cnt = label_var_cnt.reset_index()
label_var_cnt.rename(columns={'ID':'ACT_CNT'},inplace=True)
return label_var_cnt

Обе эти функции хранятся в файле .py с именем file1.py. Затем, чтобы найти их в своей записной книжке, я набрал;

from file1 import *
import pandas as pd

Эта команда импортировала обе функции. Но когда я попытался запустить функцию;

compute_pct_accts(GIACT_Match_label_cnt, label_cnt)

Я получаю сообщение об ошибке имени;


pd not found

Обратите внимание, что я импортировал панд как pd в свой блокнот Jupyter. Я знаю об использовании опции

%run -i compute_pct_accts_new.py

но это заставляет меня написать новый файл Python с этой функцией. Мой вопрос в том, можем ли мы иметь один файл Python со всеми определенными в нем функциями, чтобы мы могли импортировать их все сразу и интерактивно использовать в блокноте. Помощь приветствуется.


  • Нет, вам также нужно импортировать pandas в свой file1.py. 17.03.2021

Ответы:


1

Попробуйте импортировать pandas в файл .py, содержащий функцию, которую вы хотите импортировать.

17.03.2021
  • Ценю ваш ответ. Я добавил import pandas as pd в файл python, как и советовали. Но ошибка все та же name pd is not defined. 17.03.2021
  • Посмотрите этот пост: hhttps://stackoverflow.com/a/54725559 Возможно, вы сможете создать модуль, содержащий нужные вам функции, и установить его в своей среде. Затем вы импортируете их из указанного модуля 17.03.2021
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..