2017-09-05 127 views
1

有没有一种不确定的方式来计算下一个问题?我真的想用numpy,因为数组比这个例子大得多。Substract从numpy中另一个数组的数组的阵列

a = np.array([[5, 2, 3, 4], [6, 3, 6, 6], [9, 1, 4, 6]]) 
b = np.min(a,1) 

print(a) 
# [[5 2 3 4] 
# [6 3 6 6] 
# [9 1 4 6]] 

print(b) 
# [2 3 1] 

print(a-b) # ValueError: operands could not be broadcast together with shapes (3,4) (3,) 

# What I want: 
# [[3 0 1 2] 
# [3 0 3 3] 
# [8 0 3 5]] 
+1

使用'keepdims = TRUE'用'NP。 min'。请参阅文档。 – Divakar

+0

感谢您的快速响应,解决了这个问题。现在我看到我不得不重塑阵列。 –

+0

如果你保留否,你不需要重塑。随着最低限度减少完好无损。 – Divakar

回答

2

你可以这样做:

print(a-b.reshape(-1,1)) 
2

这将做的工作:

print(a-b.reshape(len(b),-1)) 

这将打印

array([[3, 0, 1, 2], 
     [3, 0, 3, 3], 
     [8, 0, 3, 5]]) 
相关问题