【问题标题】:Build a matrix of comparisons out of two vectors in python用python中的两个向量构建一个比较矩阵
【发布时间】:2018-08-06 19:15:36
【问题描述】:

我有两个向量 ab,想将 a 中的每个元素与 b 中的每个元素进行比较。作为比较的衡量标准,我想使用absolute difference

最好的方法是什么,即没有嵌套/双循环?

插图:

a = [1,2,3] 
b = [4,5,6]

calculation idea:
    1  2  3 

4   3  2  1
5   4  3  2
6   5  4  3

resulting matrix:
3  2  1
4  3  2
5  4  3

这样的计算怎么叫?

【问题讨论】:

    标签: python-3.x matrix vector absolute


    【解决方案1】:
    import numpy as np
    a = np.array(a)
    b = np.array(b)
    

    使用外部:

    np.subtract.outer(b,a)
    

    使用广播:

    b[:,None]-a
    

    【讨论】:

    • 非常感谢您的回答。你知道这个操作是怎么调用的吗?
    • @User12547645 我确实写了他们的名字。你可以googleouter in pythonbroadcasting in python,你会得到更多关于两者的信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    相关资源
    最近更新 更多