Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从numpy中的另一个数组中减去数组的数组_Python_Arrays_Numpy - Fatal编程技术网

Python 从numpy中的另一个数组中减去数组的数组

Python 从numpy中的另一个数组中减去数组的数组,python,arrays,numpy,Python,Arrays,Numpy,有没有一种简单的方式来计算下一个问题?我真的很想使用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 toge

有没有一种简单的方式来计算下一个问题?我真的很想使用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]]
您可以这样做:

print(a-b.reshape(-1,1))
您可以这样做:

print(a-b.reshape(-1,1))
这将完成以下工作:

print(a-b.reshape(len(b),-1))
这张照片

array([[3, 0, 1, 2],
       [3, 0, 3, 3],
       [8, 0, 3, 5]])
这将完成以下工作:

print(a-b.reshape(len(b),-1))
这张照片

array([[3, 0, 1, 2],
       [3, 0, 3, 3],
       [8, 0, 3, 5]])

将keepdims=True与np.min一起使用。请参阅文档。感谢您的快速响应,这解决了问题。现在我明白了,我必须重新调整数组的形状。如果在最小值减少的情况下保持DIM的数量不变,则不需要重新调整。我理解,通过设置标志来保持尺寸不变更符合逻辑。在np.min中使用keepdims=True。请参阅文档。感谢您的快速响应,这解决了问题。现在我明白了,我必须重塑数组。如果在最小值减少的情况下保持DIM的数量不变,则不需要重塑。我理解,通过设置标志来保持尺寸不变更符合逻辑。