python - 将 Python 列表转换为数组

标签 python arrays list numpy

我正在尝试将列表转换为 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/

相关文章:

java - 用于实现 DBMS 的数组/列表 (Java)

python - 在计算值之前从配对行中删除重复项

javascript - 使用 map 函数像 javascript 对象一样组合

java - 如何读取数字并将数字放入对象数组中

javascript - 如何使用 jquery 将包含所有元素的数组传递给 php

python - 创建与每一行具有相同列表的新 pandas 列?

java - JAXB XML 解析问题

python - Python的decode() 'utf-8'编解码器无法解码位置0 : invalid start byte的字节0xff

Python:先进先出打印

python - 有谁知道将现有 csv 文件转换为 UTF-8 编码的简单函数?