我想从numpy数组的列表中创建一个numpy数组。
假设我们有三个数组a
,b
,c
(实际上,我在代码的一个列表中有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)
,它返回一个数组,只是从列表中堆叠元素。
像这样:
我可以用下面的命令做这3个数组。在
y1 = np.vstack((a,b))
y2 = np.vstack((y1,c))
但是,我不能用2000个数组的列表来做这个。 我希望numpy和list一样简单,这样我就可以把所有东西都追加到一个空列表中。 有人能告诉我一些想法吗?在
vstack
不仅仅接受两个数组。它接受iterable行进行堆栈。你可以直接做或者,一般来说
^{pr2}$相关问题 更多 >
编程相关推荐