numpy vstack内部for循环

2024-04-23 22:32:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从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),它返回一个数组,只是从列表中堆叠元素。 像这样:

^{pr2}$

我可以用下面的命令做这3个数组。在

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

但是,我不能用2000个数组的列表来做这个。 我希望numpy和list一样简单,这样我就可以把所有东西都追加到一个空列表中。 有人能告诉我一些想法吗?在


Tags: of函数代码numpy列表np数组out