Fast way to take average of every N rows in a .npy array

后端 未结 3 978
清酒与你
清酒与你 2021-01-05 18:32

I have a very large masked NumPy array (originalArray) with many rows and two columns. I want take the average of every two rows in originalArray

3条回答
  •  时光取名叫无心
    2021-01-05 19:11

    import numpy as np
    
    def av(array):
        return  1. * np.sum(array.reshape(1. * array.shape[0] / 2,2, array.shape[1]),axis = 1) / array.shape[1]
    
    a = np.array([[1,1],[2,2],[3,3],[4,4]])
    
    print av(a)
    
    >> [[ 1.5  1.5] [ 3.5  3.5]]
    

提交回复
热议问题