2015-05-26 60 views
1

如果我有两个或更多的n二维数组,其中每个数组还包含数组,我如何通过索引连接它们的所有索引?我该如何连接按索引排列的数组索引?

一个例子是:

A = np.array([[[1,2], [3,4]], [[4,5,6], [1]]]) 
B = np.array([[[10,20], [3,9]], [[7,5], [2]]]) 

,我想获得

C = np.array([[[1,2,10,20], [3,4,3,9]], [[4,5,6,7,5], [1,2]]]) 
+0

您应该更正说明。你的数组包含列表,而不是数组。在这种情况下,这种区分很重要。 – hpaulj

回答

1

注意,因为你的内心列表的长度不同,你已经结束了2个× 2阵列列表:

>>> A.shape 
(2, 2) 

但是在numpy中,+行为elem entwise,并在名单上,+做串联。所以:

>>> C = A + B 
>>> C 
array([[[1, 2, 10, 20], [3, 4, 3, 9]], 
     [[4, 5, 6, 7, 5], [1, 2]]], dtype=object) 
+0

这是一个简洁而又有点独特的两种不同用途的互动方式。例如,如果'A'和'B'的元素本身就是数组,那么这是行不通的。 – hpaulj