2017-04-27 26 views
1

我有numpy.ndarrays列表 - 每个形状的(33,1,8,45,3)np.concatenate新维度中的numpy.ndarray列表?

问题,当我串联使用列表a = np.concatenate(list) 的输出形状变得

print a.shape 
(726,1,8,45,3) 

代替形状(22,33,1,8,45,3)

如何干净地连接列表,而不必更改输入。

+1

怎么样'np.array(input_list)'或'甚至np.asarray'? – Divakar

回答

2

您可以使用numpy.array()numpy.stack()

import numpy 
a = [numpy.random.rand(33,1,8,45,3) for i in range(22)] 

b = numpy.array(a) 
b.shape # (22, 33, 1, 8, 45, 3) 

c = numpy.stack(a, axis=0) 
c.shape # (22, 33, 1, 8, 45, 3) 
1

np.concatenate

加入阵列序列沿现有轴线

np.stack

堆栈沿新轴线阵列序列。

a = np.ones((3, 4)) 
b = np.stack([a, a]) 
print(b.shape) # (2, 3, 4)