Python 3.x 矩阵nxnx3,得到内部3数组的第一个元素

Python 3.x 矩阵nxnx3,得到内部3数组的第一个元素,python-3.x,numpy,Python 3.x,Numpy,我有一个表示图像的numpy矩阵,我想有效地得到每种颜色的第一个元素的数组。矩阵的大小为nxmx3和x3,因为它们是颜色。我要做的是总结所有的例子,比如红色。下面举一个例子: 我需要有效地这样做,因为N和M非常大a[:,:,0].sum(),或a.sum(axis=(0,1))我爱你,真的thx,我的遗传算法非常慢,节省了我的战利品。thx,但我一直在寻找一个像a[:,0]之类的快速有效的解决方案 a = np.random.randint(1,10,(2,4,3)) a array([[[

我有一个表示图像的numpy矩阵,我想有效地得到每种颜色的第一个元素的数组。矩阵的大小为nxmx3和x3,因为它们是颜色。我要做的是总结所有的例子,比如红色。下面举一个例子:


我需要有效地这样做,因为N和M非常大
a[:,:,0].sum()
,或
a.sum(axis=(0,1))
我爱你,真的thx,我的遗传算法非常慢,节省了我的战利品。thx,但我一直在寻找一个像a[:,0]之类的快速有效的解决方案
a = np.random.randint(1,10,(2,4,3))
 a
array([[[1, 8, 8],[9, 9, 9],[4, 7, 7],[7, 1, 5]],[[3, 2, 2],[8, 5, 4],[3, 3, 5],[2, 2, 7]]])
sum_r = 0
for i in a:
    for j in i:
         sum_r += j[0]
print(sum_r)
37
1 + 9 + 4 + 7 + 3 + 8 + 3 + 2
37
def sumColumn(m):
    return [sum(col) for col in zip(*m)]


column = 0
matrix = [[1 , 4, 5, 12], 
          [-5, 8, 9, 0],
          [-6, 7, 11, 19]]

print("Sum of the elements in column", sumColumn(matrix)[column])