我想从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)
,该函数返回一个仅堆积列表中元素的数组。
像这样:
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一样简单,所以我可以将所有内容附加到一个空列表中。 有人可以给我一些想法吗?
答案 0 :(得分:3)
var json = data;
var obj = JSON.stringify(json);
console.log(obj[1].id);
不仅接受两个数组。它接受可迭代的行堆栈。你可以直接做
vstack
或者通常
np.vstack([a, b, c, d, e])