Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 似乎无法展平numpy阵列_Python_Numpy - Fatal编程技术网

Python 似乎无法展平numpy阵列

Python 似乎无法展平numpy阵列,python,numpy,Python,Numpy,我有一个numpy数组,它在打印时如下所示: print(a.shape) (21,) print(a) [array([8.55570588e+03, 4.23078573e+05, 2.81254715e+07, 2.10356201e+09, 4.24558286e+05, 2.10032147e+07, 1.39638949e+09, 1.04453957e+11, 2.81593475e+07, 1.39354786e+09, 9.26480296e+10,

我有一个numpy数组,它在打印时如下所示:

print(a.shape)
(21,)
print(a)
[array([8.55570588e+03, 4.23078573e+05, 2.81254715e+07, 2.10356201e+09,
       4.24558286e+05, 2.10032147e+07, 1.39638949e+09, 1.04453957e+11,
       2.81593475e+07, 1.39354786e+09, 9.26480296e+10, 6.92992796e+12,
       2.10047682e+09, 1.03982525e+11, 6.91296507e+12, 5.17021191e+14])
 array([8.55404706e+03, 4.23328400e+05, 2.80891690e+07, 2.09651453e+09,
       4.23874124e+05, 2.09628073e+07, 1.39044370e+09, 1.03745119e+11,
       2.81060928e+07, 1.38935279e+09, 9.21288996e+10, 6.87207671e+12,
       2.09626303e+09, 1.03584989e+11, 6.86712650e+12, 5.12107449e+14])
 array([6.71569608e+03, 3.32364057e+05, 2.20526342e+07, 1.64564735e+09,
       3.32826578e+05, 1.64539763e+07, 1.09116635e+09, 8.13888141e+10,
       2.20612069e+07, 1.08976996e+09, 7.22409501e+10, 5.38629510e+12,
       1.64474898e+09, 8.11907944e+10, 5.38026989e+12, 4.01021156e+14])
 array([  97,  120,  147,  106,  115,  151,  300,  268,  326,  454,  684,
       1594, 2202, 2229, 1205,    2])
 array([   1,    0,    0,    0,    0,    1,    0,    1,    0,    2,    1,
         11,  359, 1355, 3921, 4348])
 array([   1,    0,    0,    1,    0,    0,    6,   11,   31,  644, 2312,
       3046, 3618,  321,    7,    2])
 625.0 625.0 625.0 537178.875 1874648.75 1373895.875 1.275734191674592
 2.066594119913508 1.6749058704798478 0.11276410212887233 2.55304393588347
 1.1167704949278905 2.177796835501801 1.1323869527951895
 1.3940068452456151]
理想情况下,我希望所有这些值都在一个大的长度数组中(3*16+3*16+15)


np.concatenate
不起作用,
flatte
也带来了期望的结果。

一个简单的方法是使用
np.hstack
来展平数组和浮点列表。示例用法如下所示:

import numpy as np
a = [np.array([1, 2, 3]), np.array([4, 5, 6]), 7, 8, 9]
np.hstack(a)

>> array([1, 2, 3, 4, 5, 6, 7, 8, 9])

你能试试np.hstack(a)?你为什么会得到这种结构?以前在代码中构建所需的数组结构不是更好吗?什么是大小为
3*16+3*16+3*5)
的数组?从
a
的形状判断,问题来自
a
的子数组长度不相等的事实。我不一定知道你应该怎么做,但我很确定这就是问题所在。@titipata
np.hstack(a)
确实起到了作用,如果你作为答案发布,我会接受你数组已经是平面的,这就是
a.shape==(21,)
告诉你的。