如何从numpy数组构造一个ndarray?蟒蛇

时间:2014-01-13 09:50:15

标签: python arrays numpy multidimensional-array

我似乎无法将其转换为ndarray numpy,我已阅读http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html但它没有告诉我如何将输入数据转换为{ {1}}。

如何从numpy数组或整数列表列表构造ndarray? * ndarray和数组有什么区别? *我可以使用ndarray类型吗?

我有一个像这样的整数计数列表

array

我设法使用此代码创建[[1, 2, 4, 1, 5], [6, 0, 0, 0, 2], [0, 0, 0, 1, 0]] http://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html#numpy.array

np.array

[OUT]:

import numpy as np
x = [[1, 2, 4, 1, 5],
 [6, 0, 0, 0, 2],
 [0, 0, 0, 1, 0]]
print np.array(x)

但我无法使用此代码将其更改为[[1 2 4 1 5] [6 0 0 0 2] [0 0 0 1 0]]

np.ndarray

我收到了一个错误:

import numpy as np
x = [[1, 2, 4, 1, 5],
[6, 0, 0, 0, 2],
[0, 0, 0, 1, 0]]
print np.ndarray(x)

如何使用我获得的整数计数列表创建一个np.ndarray? TypeError谈论的是什么整数?

2 个答案:

答案 0 :(得分:35)

ndarray 是一个NumPy数组。

>>> x = np.array([1, 2, 3])
>>> type(x)
<type 'numpy.ndarray'>

np.ndarraynp.array之间的区别在于前者是实际类型,而后者是灵活的简写函数,用于从其他格式的数据构造数组。 TypeError使用了对np.array的{​​{1}}个参数,它使用完全不同的参数(参见docstrings)。

答案 1 :(得分:7)

虽然接受的响应是正确的,但这并没有帮助我实际创建一个数组的数组。

由于这个帖子是谷歌的第一个答案,我发布了我的工作,即使它不是优雅的解决方案(请不要犹豫,向我指出一个):

import numpy as np

# Create example array
initial_array = np.ones(shape = (2,2))

# Create array of arrays
array_of_arrays = np.ndarray(shape = (1,), dtype = "object")
array_of_arrays[0] = initial_array

请注意array_of_arrays在这种情况下是可变的,即更改initial_array会自动更改array_of_arrays