如何修复:错误名称“np”未定义
使用 Python 时可能遇到的最常见错误之一是:
NameError : name 'np' is not defined
当您导入 python 库NumPy ,但在导入时未能将其别名为np时,会出现此错误。
下面的例子说明了这个问题是如何发生的以及如何解决它。
示例 1:导入 numpy
假设您使用以下代码导入 NumPy 库:
import numpy
如果您随后尝试定义一个 numpy 值数组,您将收到以下错误:
#define numpy array
x = np. random . normal (loc=0, scale=1, size=20)
#attempt to print values in array
print (x)
Traceback (most recent call last):
----> 1 x = np.random.normal(loc=0, scale=1, size=20)
2 print(s)
NameError : name 'np' is not defined
要修复此错误,您必须在导入 NumPy 时提供np的别名:
import numpy as np #define numpy array x = np. random . normal (loc=0, scale=1, size=20) #print values in array print (x) [-0.93937656 -0.49448118 -0.16772964 0.44939978 -0.80577905 0.48042484 0.30175551 -0.15672656 -0.26931062 0.38226115 1.4472055 -0.13668984 -0.74752684 1.6729974 2.25824518 0.77424489 0.67853607 1.46739364 0.14647622 0.87787596]
示例 2:从 numpy 导入 *
假设您使用以下代码从 NumPy 库导入所有函数:
from numpy import *
如果您随后尝试定义一个 numpy 值数组,您将收到以下错误:
#define numpy array
x = np. random . normal (loc=0, scale=1, size=20)
#attempt to print values in array
print (x)
Traceback (most recent call last):
----> 1 x = np.random.normal(loc=0, scale=1, size=20)
2 print(s)
NameError : name 'np' is not defined
要修复此错误,您必须在导入 NumPy 时提供np的别名:
import numpy as np #define numpy array x = np. random . normal (loc=0, scale=1, size=20) #print values in array print (x) [-0.93937656 -0.49448118 -0.16772964 0.44939978 -0.80577905 0.48042484 0.30175551 -0.15672656 -0.26931062 0.38226115 1.4472055 -0.13668984 -0.74752684 1.6729974 2.25824518 0.77424489 0.67853607 1.46739364 0.14647622 0.87787596]
或者,您可以选择根本不使用np语法:
import numpy #define numpy array x = numpy. random . normal (loc=0, scale=1, size=20) #print values in array print (x) [-0.93937656 -0.49448118 -0.16772964 0.44939978 -0.80577905 0.48042484 0.30175551 -0.15672656 -0.26931062 0.38226115 1.4472055 -0.13668984 -0.74752684 1.6729974 2.25824518 0.77424489 0.67853607 1.46739364 0.14647622 0.87787596]
注意: “import numpy as np”语法很常用,因为它提供了更简洁的方式来使用 NumPy 函数。您不必每次都输入“numpy”,只需输入“np”即可,这样更快、更容易阅读。