data = np.array([[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [
    15, 16, 17, 18, 19]], [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 
    13, 14], [15, 16, 17, 18, 19]], [[40, 40, 42, 43, 44], [45, 46, 47, 48,
    49], [50, 51, 52, 53, 54], [55, 56, 57, 58, 59]]])
axis = 0
u, indices = np.unique(arr, return_inverse=True)
u[np.argmax(np.apply_along_axis(np.bincount, axis, indices.reshape(arr.
    shape), None, np.max(indices) + 1), axis=axis)]
array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17,
    18, 19]])
Как найти наиболее часто встречающиеся значения в numpy ndarray?