我正在尝试将列表转换为numpy数组。我的列表长度为64,列表的每个元素都是一个numpy数组(8 x 8)。我的输出应该是一个numpy数组(8,8,1,64)。如何将列表转换为numpy数组。
type(dct)
>>>list
len(dct)
>>>64
type(dct[0])
>>>numpy.ndarray
dct[0].shape
>>>(8,8)
答案 0 :(得分:4)
您调用numpy.array
构造函数:
from numpy import array
the_array = array(dct)
但是只有当 all 列表中的元素具有相同的形状时才会起作用(如果没有,我们仍然可以使用array(..)
,但是我们得到一维对象数组。
例如:
>>> dct = [array([1, 4, 2, 5]), array([1, 3, 0, 2])]
>>> array(dct)
array([[1, 4, 2, 5],
[1, 3, 0, 2]])
In case the elements have a different shape:
>>> dct = [array([1, 4, 2, 5]), array([1, 3, 0])]
>>> array(dct)
array([array([1, 4, 2, 5]), array([1, 3, 0])], dtype=object)