0
在我的主文件導入功能時,我有:numpy的包從另一個.py文件
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)
在那裏我打電話create_training_data功能從createsplit.py文件,該文件是:
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'未定義由於某種原因,我不會rstand。我假設我以錯誤的方式導入函數,但我不明白會出現什麼錯誤。
你想要'X,Y,N,Ntr = createsplit.create_training_data(data)'。 –