在python中,当数组具有不同的形状时,如何在单个数组中转换数组列表
我有一个不同维度的数组列表,我想把这些数组连接成一个数组 如果我有在python中,当数组具有不同的形状时,如何在单个数组中转换数组列表,python,list,numpy,Python,List,Numpy,我有一个不同维度的数组列表,我想把这些数组连接成一个数组 如果我有 LIST = [array([[0.786, 0.819]]), array([[0.811, 0.804]]), array([[0.821]])] 我想把它转换成一个数组: ARRAY = array([0.786, 0.819, 0.811, 0.804, 0.821]) 因此,我想将列表中每个数组的所有值连接到一个数组中 np.hstack([i[0] for i in LIST]) 如果数组是向量而不是矩阵,即仅
LIST = [array([[0.786, 0.819]]), array([[0.811, 0.804]]), array([[0.821]])]
我想把它转换成一个数组:
ARRAY = array([0.786, 0.819, 0.811, 0.804, 0.821])
因此,我想将列表中每个数组的所有值连接到一个数组中
np.hstack([i[0] for i in LIST])
如果数组是向量而不是矩阵,即仅使用单个[]
,而不是[[]]
,则它可能是np.hstack(LIST)
l = [np.array([[0.786, 0.819]]), np.array([[0.811, 0.804]]), np.array([[0.821]])]
a = np.array([])
for x in l:
a = np.concatenate((a, x[0]))
print (a)
Outuput
[0.786 0.819 0.811 0.804 0.821]
您可以使用,无需循环
import numpy as np
LIST = [np.array([[0.786, 0.819]]), np.array([[0.811, 0.804]]), np.array([[0.821]])]
arr = np.hstack([*LIST])
arr
array([[0.786, 0.819, 0.811, 0.804, 0.821]])