gpt4 book ai didi

python - 如何使用 NumPy 从列表创建多维数组?

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:39 24 4
gpt4 key购买 nike

应该有一种方法可以像这样转换列表:

a = [[1], [2], [3], [4], [5]]
b = [[6], [7], [8], [9], [10]]

像这样:

c = [[1, 6], [2, 7], [3, 8], [4, 9], [5, 10]]

现在我正在使用 for 循环来完成此任务。

c = []
for pos in range(len(a)):
c.append([a[pos], b[pos]])

无论如何,for 循环很慢,听起来不像电视广告,但必须有更好的方法!

最佳答案

一种方法是使用 column_stack :

>>> np.column_stack((a, b))
array([[ 1, 6],
[ 2, 7],
[ 3, 8],
[ 4, 9],
[ 5, 10]])

column_stack 首先将列表强制转换为数组并返回一个数组。

因为 ab 都是单个元素列表的列表,所以当被强制转换为数组时,每个都变成一个二维列向量。因此,您也可以使用 hstackconcatenate实现相同的目的(他们还将列表强制转换为具有我们想要的正确形状的数组)。使用 np.hstack((a, b))np.concatenate((a, b), axis=1)

为了完整起见,也可以使用 np.c_通过编写 np.c_[a, b]。不过,其他方法更直接,也可能更快。

关于python - 如何使用 NumPy 从列表创建多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34483800/

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