我正在尝试将列表转换为 numpy 数组。我的列表长度是 64,列表的每个元素都是一个 numpy 数组(8 x 8)。我的输出应该是 (8,8,1,64) 的 numpy 数组。如何将列表转换为 numpy 数组。
type(dct)
>>>list
len(dct)
>>>64
type(dct[0])
>>>numpy.ndarray
dct[0].shape
>>>(8,8)
最佳答案
您调用 numpy.array
构造函数:
from numpy import array
the_array = array(dct)
但这只适用于 所有 列表的元素具有相同形状的情况(如果不是,我们仍然可以使用 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)
关于python - 将 Python 列表转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631638/