【问题标题】:I'm trying to add 5 to all elements in array and i have used numpy for that but i'm getting this error could please tell me what i'm doing wrong我正在尝试将 5 添加到数组中的所有元素,并且我已经使用了 numpy,但是我收到了这个错误,请告诉我我做错了什么
【发布时间】:2020-11-07 16:05:01
【问题描述】:
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

【问题讨论】:

  • 您的问题格式不正确,很难阅读。查看Stack Overflow guidelines 了解改进方法。
  • 使用val = np.array([22,3,4,66,77,88])。和import numpy as np。请注意,` ... import *` 通常是不好的做法。

标签: python arrays python-3.x numpy


【解决方案1】:

不要使用星号导入numpyimport numpy as np 很常见。

星号导入的问题是您从给定包中导入所有函数,因为它们是原样的。而且在大多数情况下,导入的函数名称和用户定义的python隐式函数或变量/函数之间会有重叠。

【讨论】:

【解决方案2】:

如果您只需要使用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]

【讨论】:

    猜你喜欢
    • 2021-06-29
    • 2022-01-23
    • 1970-01-01
    • 2022-08-06
    • 2019-10-19
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多