Numpy - 基于条件索引对 ndarray 值求和

问题描述 投票:0回答:1

第一个问题在这里。这个不太好解释,所以我举个例子。 我对 Numpy 还很陌生。 我有一个 2048 列 x 100 行的二维数组(原始图像,由 CV2 读取) 我想求和/创建一个仅包含 x8 索引值的新数组。

示例:

sum[0] = matrix[0][0] + matrix[0][8] + matrix[0][16] + ... + matrix[2040][100]
sum[1] = matrix[0][1] + matrix[0][9] + matrix[0][17] + ... + matrix[2041][100]
sum[2] = matrix[0][2] + matrix[0][10] + matrix[0][18] + ... + matrix[2042][100]
         .
         .
sum[7] = matrix[0][7] + matrix[0][15] + matrix[0][23] + ... + matrix[2047][100]

我确实相信有一种很好的方法可以使用 Numpy 在数组上执行此操作,而无需使用 for 循环。 有谁知道我该怎么做?

谢谢!

python numpy numpy-ndarray
1个回答
0
投票

您可以通过使用 sum 函数和花哨的索引来实现这一点 -

for i in range(8)
    sum[i] = np.sum(matrix[0:2040+i][:])
© www.soinside.com 2019 - 2024. All rights reserved.