Как исправить: имя NameError 'np' не определено


Одна из наиболее распространенных ошибок, с которыми вы можете столкнуться при использовании Python:

NameError : name 'np' is not defined

Эта ошибка возникает, когда вы импортируете библиотеку Python NumPy , но не можете указать псевдоним np при импорте.

В следующих примерах показано, как возникает эта проблема и как ее устранить.

Пример 1: импорт numpy

Предположим, вы импортируете библиотеку NumPy, используя следующий код:

import numpy

Если вы затем попытаетесь определить пустой массив значений, вы получите следующую ошибку:

#define numpy array
x = np.random.normal (loc=0, scale=1, size=20)

#attempt to print values in arrary
print(x)

Traceback (most recent call last): 
----> 1 x = np.random.normal(loc=0, scale=1, size=20)
 2 print(x)

NameError : name 'np' is not defined

Чтобы исправить эту ошибку, вам нужно указать псевдоним np при импорте NumPy:

import numpy as np

#define numpy array
x = np.random.normal (loc=0, scale=1, size=20)

#print values in arrary
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 \*

Если вы затем попытаетесь определить пустой массив значений, вы получите следующую ошибку:

#define numpy array
x = np.random.normal (loc=0, scale=1, size=20)

#attempt to print values in arrary
print(x)

Traceback (most recent call last): 
----> 1 x = np.random.normal(loc=0, scale=1, size=20)
 2 print(x)

NameError : name 'np' is not defined

Чтобы исправить эту ошибку, вам нужно указать псевдоним np при импорте NumPy:

import numpy as np

#define numpy array
x = np.random.normal (loc=0, scale=1, size=20)

#print values in arrary
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 arrary
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]

Примечание. Обычно используется синтаксис «импортировать numpy как np», поскольку он предлагает более лаконичный способ использования функций NumPy. Вместо того, чтобы каждый раз вводить «numpy», вы можете просто ввести «np», который быстрее и легче читается.

Дополнительные ресурсы

Как исправить: имя NameError 'pd' не определено
Как исправить: нет модуля с именем pandas