我第一次使用numpy,遇到了一些有关浮点数组的奇怪问题。
这非常基础,我可能遗漏了一些非常明显的东西--有人能告诉我问题出在哪里吗?
以下是两行代码:
arr1 = numpy.ndarray([1.0, 2.0])
print "arr1: ", arr1
生成以下输出:
arr1: [[ 1.49166815e-154 -1.32750723e-315]]
这不对。我做错了什么?
非常感谢任何帮助!
我第一次使用numpy,遇到了一些有关浮点数组的奇怪问题。
这非常基础,我可能遗漏了一些非常明显的东西--有人能告诉我问题出在哪里吗?
以下是两行代码:
arr1 = numpy.ndarray([1.0, 2.0])
print "arr1: ", arr1
生成以下输出:
arr1: [[ 1.49166815e-154 -1.32750723e-315]]
这不对。我做错了什么?
非常感谢任何帮助!
在创建数组时,应使用numpy.array
而不是numpy.ndarray
。numpy.ndarray
是一个底层接口,在大多数情况下,应使用numpy.array
来创建数组。
In [5]: arr1 = numpy.array([1.0, 2.0])
In [6]: arr1
Out[6]: array([ 1., 2.])
numpy.ndarray
的签名:
ndarray(shape, dtype=float, buffer=None, offset=0, strides=None, order=None)
numpy.ndarray
的docstring中可以看到:array
、zeros
或empty
构建。np.ndarray(shape=(1,2), buffer=np.array([1,2]), dtype=float)