【问题标题】:All boolean combinations from 2 numpy arrays来自 2 个 numpy 数组的所有布尔组合
【发布时间】:2020-04-19 00:58:30
【问题描述】:

numpy 中是否有一个现有函数,它接受 2 个 numpy 数组 (x,y) 并为每个 i,j (x[i]>y[j]) 返回一个布尔矩阵

例如,让 x = [3, 4 ,5] 和 y = [1, 2, 3] 我想要

res = [ [True, True, False],

        [True, True, True],

        [True, True, True] ]

【问题讨论】:

    标签: python numpy boolean


    【解决方案1】:

    您在这里不需要函数,如果您正确调整数组的形状,只需数组广播就可以工作。我认为您想要这种方法,它使x 成为列向量,y 成为行向量:

    x = np.array([3,4,5])
    y = np.array([1,2,3])
    
    res = x[:,None] > y[None,:]
    

    【讨论】:

      【解决方案2】:

      使用 numpy,您可以将 x 和 y 列表转换为数组,如下所示:x = np.array([3,4,5]) y=np.array([1,2,3]),然后 numpy 只需执行以下操作即可进行元素比较:print(x > y)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-15
        • 2021-09-17
        • 2018-12-22
        • 1970-01-01
        • 2018-08-10
        • 2021-08-01
        • 2020-03-25
        • 2019-07-27
        相关资源
        最近更新 更多