我似乎无法将其转换为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谈论的是什么整数?
答案 0 :(得分:35)
ndarray
是一个NumPy数组。
>>> x = np.array([1, 2, 3])
>>> type(x)
<type 'numpy.ndarray'>
np.ndarray
和np.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
。