簡體   English   中英

從另一個.py文件導入函數時未定義numpy包

[英]numpy package not defined when importing function from another .py file

在我的主文件中,我有:

import matplotlib.pyplot as plt
import seaborn
import numpy as np
import time

import sys
sys.path.append("C:/.../python check/createsplit")
import createsplit

data='MJexample'
X,Y,N,Ntr=create_training_data(data)

我在從createplit.py文件中調用create_training_data函數的位置:

import numpy as np
import scipy.io

def create_training_data(data_type):
     """
     creates training data
     """
     if data_type=='MJexample':
         N=300
         Ntr = 150
         X=np.linspace(0,1,N)
         X = np.array([X,X*X,np.linspace(5,10,N),np.sin(X),np.cos(X),np.sin(X)*np.cos(X)]).T

         fac=40
         Y=np.array([np.sin(fac*x)*np.cos(fac*x**2) for x in X[:,0]])[:,None]

         _X=X
         _Y=Y
         return _X,_Y,N,Ntr

但是,運行我的原始文件會導致錯誤: NameError:由於某些我不了解的原因未定義全局名稱'np' 我以為我以錯誤的方式導入了函數,但是我真的不明白什么是錯誤的。

我認為這個問題僅是由於函數的錯誤調用引起的。 嘗試

X, Y, N, Ntr = createsplit.create_training_data(data)

相反,它應該工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM