Numpy minimum,如np.outer()

时间:2017-06-03 22:49:05

标签: python arrays numpy

也许我只是在这里懒惰,但是让我们说我有两个长度为n和m的数组,并且我喜欢成对的所有元素中的最小元素。两个阵列相互比较。例如:

a = [1,5,3]
b = [2,4]
cross_min(a,b)
= [[1,1],[2,4],[2,3]]

这与np.outer()的行为类似,不同之处在于它不是将两个数组相乘,而是计算两个元素的最小值。

在numpy中是否有类似的操作?

我知道我可以沿着b运行np.minimum()并将结果堆叠在一起。我想知道这是一个众所周知的操作,我只是不知道它的名字。

2 个答案:

答案 0 :(得分:4)

您可以将其中一个数组转换为二维数组,然后使用broadcasting规则和np.minimum

import numpy as np
a = np.array([1,5,3])
b = np.array([2,4])

np.minimum(a[:,None], b)
#array([[1, 1],
#       [2, 4],
#       [2, 3]])

答案 1 :(得分:3)

您可以使用np.minimum.outer(a, b)