Como bin uma matriz 2D numpy?

Eu sou novo no numpy e tenho uma matriz 2D de objetos que preciso agrupar em uma matriz menor e, em seguida, obter uma contagem do número de objetos em cada compartimento para criar um mapa de calor. Eu segui a respostanesta discussão para criar os compartimentos e fazer as contagens para uma matriz simples, mas não sei como estendê-lo para duas dimensões. Aqui está o que eu tenho até agora:

data_matrix = numpy.ndarray((500,500),dtype=float)
# fill array with values.

bins = numpy.linspace(0,50,50)
digitized = numpy.digitize(data_matrix, bins)

binned_data = numpy.ndarray((50,50))
for i in range(0,len(bins)):
    for j in range(0,len(bins)):
        k = len(data_matrix[digitized == i:digitized == j]) # <-not does not work
        binned_data[i:j] = k

P.S. a[digitized == i] notação em uma matriz retornará uma matriz de valores binários. Não consigo encontrar documentação sobre essa notação em lugar algum. Um link seria apreciado.

questionAnswers(3)

yourAnswerToTheQuestion