【问题标题】:Convert a Python List to an Array将 Python 列表转换为数组
【发布时间】:2018-02-05 21:18:26
【问题描述】:

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

【问题讨论】:

  • 所有数组的形状都一样吗?

标签: python arrays list numpy


【解决方案1】:

你调用numpy.array构造函数:

from numpy import array

the_array = array(dct)

但这只有在所有列表中的元素具有相同形状时才有效(如果不是,我们仍然可以使用array(..),但是我们会得到一个一维对象数组。 p>

例如:

>>> 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)

【讨论】:

    猜你喜欢
    • 2019-01-23
    • 2021-03-22
    • 2012-06-13
    • 2011-09-23
    • 2019-10-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多