【问题标题】:Initializing a numpy array of arrays of different sizes初始化不同大小的数组的numpy数组
【发布时间】:2018-12-31 14:39:21
【问题描述】:

我想要做的是创建一个具有 1 行和 3 列的 numpy 数组。

现在我想填充数组,这样数组的每个元素本身就是数组。不仅如此,每个数组的大小(即更大数组的元素)也不同。

第一个元素的大小为 1*m 第二个元素的大小为 1*n,依此类推..

【问题讨论】:

标签: python-3.x multidimensional-array


【解决方案1】:

你可以使用np.empty初始化一个empty Numpy数组

如果您要分配的元素本身就是 Numpy 数组(即对象),您应该使用 dtype=object 作为 np.empty 的可选参数。

In [72]: np.empty((1,3), dtype=object)
Out[72]: array([[None, None, None]], dtype=object)

现在我们为其命名并为其元素之一分配一个数组

In [73]: a = np.empty((1,3), dtype=object)

In [74]: a[0,1]=np.array((1,2,3,4,5))

最终我们会检查你是否得到了你想要的东西......

In [75]: a
Out[75]: array([[None, array([1, 2, 3, 4, 5]), None]], dtype=object)

这是你想要的吗?


我想补充一点,使用 Numpy 数组列表可能会更好地完成您想要做的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 2011-08-18
    • 2013-04-16
    • 2021-06-08
    • 2015-07-28
    • 2017-07-01
    • 2018-12-04
    相关资源
    最近更新 更多