也许我只是在这里懒惰,但是让我们说我有两个长度为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()并将结果堆叠在一起。我想知道这是一个众所周知的操作,我只是不知道它的名字。
答案 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)