我正在尝试将此数组转换为单个数组。 我的意见:
a = [[ array([ 3.00514850e+05, 3.32400000e+01, 2.71669002e-01,
6.50974961e+05, 3.00515112e+05, 3.32248995e+01])
array([ 15.])]
[ array([ 3.00915200e+05, 2.90600000e+01, 2.91730634e-01,
6.50763121e+05, 3.00915412e+05, 2.91246275e+01])
array([ 17.])]
我想要实现的目标:
b = [[ 3.00514850e+05, 3.32400000e+01, 2.71669002e-01,
6.50974961e+05, 3.00515112e+05, 3.32248995e+01, 15.]
[ 3.00915200e+05, 2.90600000e+01, 2.91730634e-01,
6.50763121e+05, 3.00915412e+05, 2.91246275e+01, 17.]]
所以我的计划是首先将我的阵列转换为单个阵列,将两个阵列分成单独的阵列,然后将它们附加在一起。我真的觉得我过于复杂了。
我使用 b = a.transpose()将所有值从小数组放到最后。之后,我尝试使用 c,d =([i] for i in b)将其拆分为数组,然后我的计划是使用 output = np.append(c, d)
但我的功能c,d trowing错误"太多的值要解包(预期2)" 。
有没有更好的方法呢?我究竟做错了什么?你能救我吗?
答案 0 :(得分:3)
因此,您尝试连接列表a
的所有子列表中的数组。您可以使用内置函数map
执行此操作:
a = [[np.array([3.00514850e+05, 3.32400000e+01, 2.71669002e-01,
6.50974961e+05, 3.00515112e+05, 3.32248995e+01]), np.array([15.])],
[np.array([3.00915200e+05, 2.90600000e+01, 2.91730634e-01,
6.50763121e+05, 3.00915412e+05, 2.91246275e+01]), np.array([17.])]]
a = np.array(a)
result = np.array(list(map(np.concatenate,a)))