代码之家  ›  专栏  ›  技术社区  ›  nullgeppetto

零(按行)“numpy”数组的元素小于给定向量的值

  •  1
  • nullgeppetto  · 技术社区  · 8 年前

    我有一个 numpy 数组,例如。,

    import numpy as np    
    A = np.exp(np.random.randn(3,10))
    

    i、 e.阵列

    array([[ 1.17164655,  1.39153953,  0.68628548,  0.1051013 ],
           [ 0.45604269,  2.21059251,  1.79624195,  0.37553947],
           [ 1.03063907,  0.28035114,  1.70371105,  3.66090236]])
    

    我计算行的最大值如下

    np.max(A, axis=1)
    array([ 1.39153953,  2.21059251,  3.66090236])
    

    A ,其值小于对应行最大值的一小部分。例如,对于上面的例子,如果我们将这个分数设置为0.9,我想将以下元素归零:

    第1行:将小于0.9*最大值=1.25238557的元素归零

    第三行:将小于0.9*最大值=3.29481212的元素归零

    努比 的文档,但我运气不好。我也试过了

    A < np.max(A, axis=1)
    

    1 回复  |  直到 8 年前
        1
  •  3
  •   user2357112    8 年前

    使用 keepdims 参数以保持长度为1的轴,而不是移除折叠的轴,以便轴与原始形状对齐以进行广播:

    A[A < 0.9*np.amax(A, axis=1, keepdims=True)] = 0