b = numpy.arange(3 * 3 * 3).reshape((3, 3, 3))
sort_indices = numpy.argsort(a, axis=0)
static_indices = numpy.indices((3, 3, 3))
b[sort_indices, static_indices[1], static_indices[2]]
Сортировка массива numpy по другому массиву по определенной оси