【问题标题】:comparing two matrices columns in python (numpy)比较python中的两个矩阵列(numpy)
【发布时间】:2021-06-18 16:29:18
【问题描述】:

假设我有两个矩阵,维度为r X cA 和维度为r X dB(即,两个矩阵具有相同的行数和不同的列数)。现在,我想将A 中的每一列与B 中的每一列进行比较。也就是说,我想找到所有对(i,j),其中矩阵A 中的列i 等于矩阵B 中的列j。显然,这可以通过循环轻松完成,但我想知道是否有一种高效的花哨的 numpy 风格的方式来做到这一点(重点是高效)?

谢谢!

【问题讨论】:

  • 你能做一个可重现的例子吗?
  • np.where((A[:,None] == B[...,None]).all(0))

标签: python numpy matrix


【解决方案1】:

此函数返回一个数组,其列索引对于两个矩阵都相等。

def get_equal_columns(m1, m2):
    equal_column_indices = np.where((m1[:, None] == m2[..., None]).all(0))[0]
    return equal_column_indices 

【讨论】:

    猜你喜欢
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    相关资源
    最近更新 更多