【问题标题】:Error NameError: name 'np' is not defined [closed]错误名称错误:未定义名称“np”[关闭]
【发布时间】:2018-10-22 03:14:05
【问题描述】:
from numpy import *
x = np.random.randint(low=10, high=30, size=6)
print(x)


"C:\Users\Piistasyo\PycharmProjects\test project\venv\Scripts\python.exe" "C:/Users/Piistasyo/PycharmProjects/test project/loop.py"
Traceback (most recent call last):
  File "C:/Users/Piistasyo/PycharmProjects/test project/loop.py", line 44, in <module>
    x = np.random.randint(low=10, high=30, size=6)
NameError: name 'np' is not defined

为什么会出现这个错误?请帮助我已经安装了 numpy 包

【问题讨论】:

  • from numpy import *更改为import numpy as np
  • 如果我要使用这个“from numpy import *”怎么办?我应该在我的合成器中改变什么?
  • @Piistasyo 我的第二个例子 :-)
  • @Piistasyo 你永远不应该使用from numpy import *,加星标的导入被认为是不好的

标签: python numpy


【解决方案1】:

正如@aydow 所说,“将from numpy import * 更改为import numpy as np”:

import numpy as np
...

还是不要写np

from numpy import *
x = random.randint(low=10, high=30, size=6)
...

因为,from numpy import *,在numpy中导入每一个函数,所以np不是numpy的函数,所以得像import numpy as np一样导入numpy,或者,去掉np的一部分np.random.randint(low=10, high=30, size=6),并制作是这样的:random.randint(low=10, high=30, size=6),都是因为random是numpy的一个函数,基本上就是这样,解释一下

【讨论】:

  • 它正在工作!!!
【解决方案2】:

你还没有定义np

你目前正在做的第一件事是

from numpy import *

这将导入包numpy,以及该包中的所有内容。但是,numpy 不包含名为 np 的模块。 numpy 的典型做法是而不是

import numpy as np

只是导入包numpy,并将其重命名为np,以便您可以使用np 上的点运算符取消引用它。这允许您调用np.random(),因为randomnumpy 的成员,它的别名是np

根据您当前正在执行的操作,您可以执行 numpy.random() 或仅执行 random(因为它是您从 numpy 导入的 * 的一部分)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 2022-01-01
    • 2015-01-28
    • 1970-01-01
    • 2021-04-02
    • 2019-11-13
    • 2019-09-09
    相关资源
    最近更新 更多