gpt4 book ai didi

python - 将二维数组附加到一个数组

转载 作者:太空狗 更新时间:2023-10-30 01:58:27 25 4
gpt4 key购买 nike

我有一个二维 np.arrays() 循环,我需要将这些数组添加到一个数组中。

在普通的 Python 中我会这样做

In [37]: a1 = [[1,2],[3,4]]

In [38]: b1 = [[5,6],[7,8]]

In [39]: l1 = []

In [40]: l1.append(a1)

In [41]: l1.append(b1)

In [42]: l1
Out[42]: [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]

如何使用 numpy for l1 获得相同的结果?

最佳答案

只需使用:

l1 = np.array([a1,b1])

另请注意,在 numpy 中,您不会附加到数组。您先分配它们,然后填充它们:

import numpy as np
a1 = np.array([[1,2],[3,4]])
b1 = np.array([[5,6],[7,8]])
#allocate exact size of the final array
l1 = empty(((2,)+a1.shape),dtype=a1.dtype)
l1[0]=a1
l1[1]=b1

或者您使用许多辅助函数之一(其他人描述的dstackhstackconcatenate)

编辑:我发现上面的两种解决方案都非常易读并且接近 python 列表语法,但这是相当主观的。计算这有多快,您会发现这两种解决方案都比@unutbu 基于连接提出的最快解决方案快一点。此外请注意,这不会创建 View 。

关于python - 将二维数组附加到一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27924819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com