gpt4 book ai didi

python - 比较不同形状的矩阵

转载 作者:行者123 更新时间:2023-12-01 04:00:53 27 4
gpt4 key购买 nike

假设我有两个不同形状的矩阵,AB。我想在十字路口比较它们。

即,A = a1xa2B = b1 xb2。让

A = np.ones((3, 4))
B = np.ones((5, 2))

那么交集就是(3, 2)。下一步是将两个矩阵裁剪为 (3, 2) 并进行比较。

我可以使用numpy来完成这些事情,但这一切看起来都非常低效且不优雅。对于二维 AB 来说,实现这一目标的简短而简洁的方法是什么?

最佳答案

如果我理解正确的话,您正在寻找适合 AB 的最大可能子数组。您可以比较 AB 的每个尺寸并取最小的一个:

def largest_subarray(A, B):
dims = np.minimum(A.shape, B.shape) # find smallest dimensions
idx = tuple(slice(None, dd) for dd in dims) # construct tuple of slice indices
return A[idx], B[idx] # index into A and B

对于您的示例数组,它将返回 A[:3, :2], B[:3, :2]

关于python - 比较不同形状的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549655/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com