使用两者的最小值从两个数组创建矩阵
Creating Matrix from Two Arrays using Minimum of both
假设我有以下内容(在 python 3.7 中)
x = np.array([2,4,6])
y = np.array([3,5])
如何获取输出
np.array([[2, 2],
[3, 4],
[3, 5]])
基本上利用这两个数组作为我的新矩阵的“轴”,并且对于新矩阵的每个条目,取 min(row, col),不使用任何循环。
函数np.meshgrid
会将这两个输入变量扩展为二维数组(返回一个2元素列表);然后,您可以使用 np.minimum
获得 element-by-element 最小值:
np.meshgrid(y,x)
returns:
[
array([[3, 5],
[3, 5],
[3, 5]]),
array([[2, 2],
[4, 4],
[6, 6]])
]
和:
np.minimum(*np.meshgrid(y,x))
returns:
array([[2, 2],
[3, 4],
[3, 5]])
(此处使用 *
将列表扩展为 np.minimum
的两个单独参数。)
假设我有以下内容(在 python 3.7 中)
x = np.array([2,4,6])
y = np.array([3,5])
如何获取输出
np.array([[2, 2],
[3, 4],
[3, 5]])
基本上利用这两个数组作为我的新矩阵的“轴”,并且对于新矩阵的每个条目,取 min(row, col),不使用任何循环。
函数np.meshgrid
会将这两个输入变量扩展为二维数组(返回一个2元素列表);然后,您可以使用 np.minimum
获得 element-by-element 最小值:
np.meshgrid(y,x)
returns:
[
array([[3, 5],
[3, 5],
[3, 5]]),
array([[2, 2],
[4, 4],
[6, 6]])
]
和:
np.minimum(*np.meshgrid(y,x))
returns:
array([[2, 2],
[3, 4],
[3, 5]])
(此处使用 *
将列表扩展为 np.minimum
的两个单独参数。)