【问题标题】:Python: Multiply 2D array with each row of another 2D array [duplicate]Python:将二维数组与另一个二维数组的每一行相乘[重复]
【发布时间】:2022-01-12 18:02:59
【问题描述】:

假设我有以下数据:

mask = [[0, 1, 1, 0, 1]] # 2D mask
ip_array = [[7, 4, 5, 2, 3]
            [3, 2, 1, 9, 0]
            [1, 8, 6, 3, 1]] # 2D array

我想将mask 与ip_array 的每一行相乘。所以输出应该是这样的:

[[0, 4, 5, 0, 3]
 [0, 2, 1, 0, 0]
 [0, 8, 6, 0, 1]]

我是 numpy 函数的新手,我正在寻找一种有效的方法来做到这一点。任何帮助表示赞赏!

【问题讨论】:

  • np.multiply(mask, ip_array)

标签: python numpy numpy-ndarray mask


【解决方案1】:

你可以使用:

np.multiply(mask, ip_array)

给你:

array([[0, 4, 5, 0, 3],
       [0, 2, 1, 0, 0],
       [0, 8, 6, 0, 1]])

另外,作为提醒,您在ip_array 的定义中缺少两个逗号。它应该是这样的:

ip_array = [[7, 4, 5, 2, 3],
            [3, 2, 1, 9, 0],
            [1, 8, 6, 3, 1]] # 2D array

【讨论】:

    猜你喜欢
    • 2016-12-07
    • 2021-12-31
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 2012-11-13
    • 2019-12-08
    相关资源
    最近更新 更多