gpt4 book ai didi

python - for循环内的numpy vstack

转载 作者:行者123 更新时间:2023-11-30 22:08:38 25 4
gpt4 key购买 nike

我想从 numpy 数组列表中创建一个 numpy 数组。假设我们有三个数组 abc(嗯,实际上我的代码列表中有 2000 个数组,但为了简单起见,我只提取了其中的三个)

a
Out[155]:
array([-3.6673906, -0.6282566, 5.753459 , -3.4316962, 1.1095421,
-3.857554 , 2.1034663, 1.1664252, 5.030331 , 2.8712769,
-6.43062 , -4.375715 , -1.6669037, 3.340822 , 0.520241 ,
1.4352009, -1.7027975, -2.5952163, -1.0833957, 1.2216603],
dtype=float32)
b
Out[156]:
array([-3.0786738 , -0.4769052 , 3.9245896 , -7.2456822 , -1.3267522 ,
-0.71329254, 0.41840628, -0.90246826, 3.9599216 , 0.91597205,
-2.7932754 , -2.9929597 , -1.729125 , -2.4315472 , -6.188235 ,
6.450362 , -1.1097518 , -0.3890484 , -3.6735342 , -0.20976427],
dtype=float32)
c
Out[157]:
array([ 1.2807868 , 2.9086506 , -0.90828913, -5.387167 , 2.5136113 ,
-6.1260514 , -4.2776265 , 2.1921122 , 1.8431641 , -2.623109 ,
0.2086102 , -3.3588243 , -1.7712283 , 3.4094403 , -3.6030903 ,
1.8072847 , 4.6180625 , -1.6826918 , -1.4339283 , 0.39811078],
dtype=float32)

我想要一个函数 func(list_of_arrays) ,它返回一个数组,仅堆叠列表中的元素。像这样:

array([[-3.6673906 , -0.6282566 ,  5.753459  , -3.4316962 ,  1.1095421 ,
-3.857554 , 2.1034663 , 1.1664252 , 5.030331 , 2.8712769 ,
-6.43062 , -4.375715 , -1.6669037 , 3.340822 , 0.520241 ,
1.4352009 , -1.7027975 , -2.5952163 , -1.0833957 , 1.2216603 ],
[-3.0786738 , -0.4769052 , 3.9245896 , -7.2456822 , -1.3267522 ,
-0.71329254, 0.41840628, -0.90246826, 3.9599216 , 0.91597205,
-2.7932754 , -2.9929597 , -1.729125 , -2.4315472 , -6.188235 ,
6.450362 , -1.1097518 , -0.3890484 , -3.6735342 , -0.20976427],
[ 1.2807868 , 2.9086506 , -0.90828913, -5.387167 , 2.5136113 ,
-6.1260514 , -4.2776265 , 2.1921122 , 1.8431641 , -2.623109 ,
0.2086102 , -3.3588243 , -1.7712283 , 3.4094403 , -3.6030903 ,
1.8072847 , 4.6180625 , -1.6826918 , -1.4339283 , 0.39811078]],
dtype=float32)

我可以使用以下命令来完成这 3 个数组。

y1 = np.vstack((a,b))
y2 = np.vstack((y1,c))

但是,我无法对 2000 个数组的列表执行此操作。我希望 numpy 和 list 一样简单,这样我就可以将所有内容附加到一个空列表中。有人可以给我一些想法吗?

最佳答案

vstack 不仅仅接受两个数组。它接受要堆叠的可迭代行。您可以直接执行

np.vstack([a, b, c, d, e])

或者,一般来说

np.vstack(my_arrays)

关于python - for循环内的numpy vstack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52118783/

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