我正在尝试向数组中的所有元素添加5个元素,我使用了numpy,但是我遇到了这个错误。请告诉我我做错了什么

2024-05-03 18:40:09 发布

您现在位置:Python中文网/ 问答频道 /正文

from numpy import *

val = array([22,3,4,66,77,88])
val = val + 5
print(val)


"C:\Users\PycharmProjects\FirstProject\venv\Scripts\python.exe" "C:/Users//PycharmProjects/FirstProject/random.py"
Traceback (most recent call last):
  File "C:/Users/PycharmProjects/FirstProject/random.py", line 1, in <module>
    from numpy import *
  File "C:\Users\PycharmProjects\FirstProject\venv\lib\site-packages\numpy\__init__.py", line 151, in <module>
    from . import random
  File "C:\Us\PycharmProjects\FirstProject\venv\lib\site-packages\numpy\random\__init__.py", line 179, in <module>
    from . import _pickle
  File "C:\Users\PycharmProjects\FirstProject\venv\lib\site-packages\numpy\random\_pickle.py", line 1, in <module>
    from .mtrand import RandomState
  File "mtrand.pyx", line 1, in init numpy.random.mtrand
  File "bit_generator.pyx", line 40, in init numpy.random.bit_generator
  File "C:\Users\AppData\Local\Programs\Python\Python37\lib\secrets.py", line 20, in <module>
    from random import SystemRandom
  File "C:\Users\\PycharmProjects\FirstProject\random.py", line 3, in <module>
    val = array([22,3,4,66,77,88])
NameError: name 'array' is not defined

Tags: infrompyimportnumpyvenvlibline
2条回答

不要导入带有星号的numpyimport numpy as np是很常见的

星号导入的问题在于,您可以按原样导入给定包中的所有函数。在大多数情况下,导入的函数名与python隐式函数或用户定义的变量/函数之间会有重叠

如果您只需要使用numpy.array,您可以像这样专门导入它:

from numpy import array

val = array([22, 3, 4, 66, 77, 88])
val = val + 5
print(val) # [27  8  9 71 82 93]

您很可能希望使用numpy中可用的其他内容,以便在导入整个numpy包后可以显式引用它:

import numpy

val = numpy.array([22, 3, 4, 66, 77, 88])
val = val + 5
print(val) # [27  8  9 71 82 93]

每次键入numpy都很繁琐,因此您可以使用约定将其称为np

import numpy as np

val = np.array([22, 3, 4, 66, 77, 88])
val = val + 5
print(val) # [27  8  9 71 82 93]

相关问题 更多 >