如何对每行中的每n个元素进行分组和相乘?

时间:2020-11-05 07:29:35

标签: python numpy

给出一个矩阵(示例)

a = np.array([[3, 4, 5, 6, 7, 8],
              [6, 7, 8, 9, 0, 9]])

如何将行中的每两个值分组并相乘以获得:

[[12 30 56]
[42 72 0]]

是的,我需要每2列相乘

1 个答案:

答案 0 :(得分:2)

您可以将np.multiply.reduceat与正确的索引一起使用:

np.multiply.reduceat(a, np.arange(0, a.shape[1], 2), axis=1)
array([[12, 30, 56],
       [42, 72,  0]], dtype=int32)