【问题标题】:Traceback (most recent call last) when using numpy使用 numpy 时的回溯(最近一次通话)
【发布时间】:2019-08-29 03:18:38
【问题描述】:
from numpy import *

a = array([1,2,3,4,5,6])

print(a)

上述代码在安装numpy 后显示错误。错误是:

C:\Users\91875\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/91875/PycharmProjects/untitled/numpytest.py Traceback(最 最近通话最后):文件 “C:/Users/91875/PycharmProjects/untitled/numpytest.py”,第 1 行,在 从 numpy 导入 * 文件“C:\Users\91875\PycharmProjects\untitled\numpy.py”,第 3 行,在 a = array([1,2,3]) NameError: name 'array' is not defined

进程以退出代码 1 结束

【问题讨论】:

  • 我无法解决这个错误,请帮我解决这个问题
  • 将您的文件重命名为numpy.py。并使用标准的import numpy as np 表达式。
  • 谢谢你我检查了它的工作但仍然很困惑。import numpy as np 但是 from numpy import * 有什么问题。据我所知,两者具有相同的含义,唯一的区别是在表达式中我们必须使用名称 np 而在 from numpy import * 中,我们可以直接使用数组。
  • * 导入是允许的,并且大部分时间都有效。但是有些函数会影响内置函数(如np.sum)。并且更容易识别numpy 的使用,例如np.array()array(...)。在某种程度上,这只是风格问题,但您会看到几乎所有numpy 的答案都使用np...

标签: python numpy


【解决方案1】:

将文件从 numpy 重命名为 script.py 后,它应该可以工作

from numpy import *

a = array([1,2,3,4,5,6])

print(a)
#[1 2 3 4 5 6]

但正如其他评论者所指出的那样,更喜欢的版本是这样做

import numpy as np

a = np.array([1,2,3,4,5,6])

print(a)

这背后的一个原因是你有 numpy.sum 和 python 内置 sum , 上面的符号可以帮助你区分两者

import numpy as np

a = np.array([1,2,3,4,5,6])

#Using numpy sum to calculate sum of array
print(np.sum(a))

#Use python builtin sum to calculate sum of array
print(sum(a))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    相关资源
    最近更新 更多