当前位置: 首页 > 知识库问答 >
问题:

将函数导入Jupyter笔记本时出现名称错误

王高超
2023-03-14

我正在AWS Sagemaker实例上工作Jupyter笔记本。为了方便起见,我编写了一个.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

这两个函数都存储在名为file1.py的.py文件中。然后在我的笔记本里找到它们,我打了字;

from file1 import *
import pandas as pd

此命令导入了这两个函数。但当我尝试运行函数时;

compute_pct_accts(GIACT_Match_label_cnt, label_cnt)

我得到一个名字错误;


pd not found

请注意,我在我的jupyter笔记本中已经导入了熊猫作为pd。我知道使用选项

%run -i compute_pct_accts_new.py

但这迫使我使用该函数编写一个新的python文件。我的问题是,我们能不能有一个python文件,里面定义了所有的函数,这样我们就可以一次性导入所有的,在笔记本中交互使用。感谢你的帮助。

共有1个答案

盖斌
2023-03-14

尝试在包含要导入的函数的.py文件中导入pandas

 类似资料:
  • 我正在使用ec2和ubuntu 18机器,并希望安装jupyter笔记本,我遵循了这个教程,并不断得到这个错误: Traceback(最近的调用为last):文件“/home/ubuntu/.local/bin/jupyter-notebook”,第11行,在sys.exit(main())文件“/home/ubuntu/.local/lib/python3.6/site-packages/jup

  • 我已经安装了Keras和TensorFlow GPU,但当我尝试将这些库导入Jupiter笔记本时,出现了一个错误 下面是使用conda list的库,下面是jupyter显示给我的错误: ModuleNotFoundError Traceback(最近的调用最后)在---- ModuleNotFoundError:没有名为keras的模块 我在蟒蛇环境中尝试这个: pip3安装keras 要求已

  • 我使用的Macbook与OS Sierra,并运行Python 3.6.1和Jupyter笔记本服务器5.0.0我安装了Jupyter笔记本扩展,按照说明https://github.com/ipython-contrib/jupyter_contrib_nbextensions 虽然笔记本在我的系统上工作正常,但我无法查看nbextensions选项卡。下面是我在terminal中运行jupyt

  • 我想将一些通用功能外包给一个模块中的多个笔记本电脑(也用于测试目的)。当前目录结构如下所示 在中,有一个简单的函数 然而,当我想导入和使用在通过使用(我认为有意义的) 我得到一个。我做错了什么?我正在使用Python 3.9。

  • C:\users\user\appdata\local\programs\python\python37\lib\site-packages\scipy__init__.py在154#中,这使得“from scipy import fft”返回scipy.fft,而不是np.fft 155 del fft-->156 from。导入fft C:\users\user\appdata\local\p

  • 我在试着学习数据砖上的火花。我建立了一个数据银行账户。当我尝试从url导入笔记本时,收到一条消息: 导入失败,错误为:导入失败https://databricks-prod-cloudfront.cloud.databricks.com/public/4027ec902e239c93eaaa8714f173bcfc/6244269837918943/3546103630347710/4066658