я получил трехмерный массив со значениями давления воздуха в виде:numpy.searchsorted в многомерном массиве
[[[1000 1010]
[1005 990]]
[[950 960]
[955 940]]
[[900 910]
[905 890]]]
структура представляет собой давление на различных уровнях, так что каждый элемент в 2-D является для каждого слоя.
Я хотел бы знать, на каком уровне давление 950 будет для каждого 2d-элемента, получая 2-мерный массив с индексом уровня для каждого элемента.
В массиве 1-D, как
a = [890, 940, 990]
Я хотел бы использовать
a.searchsorted(950)
и результат будет 2, что свидетельствует о том, что 950 будет идти на 3-м положении.
Есть ли способ сделать это для всего моего массива сразу, без необходимости делать это для каждого 2-го элемента?
Я не совсем понимаю, что вам нужно. Если вы берете один массив значений давления (m, n) ', соответствующий одному уровню, говорите ли вы, что вы хотите, чтобы ранг значения' v' в векторе '(m * n,)' отсортированных значений для этого уровень, например 'Np.sort (А [0,:,:]. Квартира) .searchsorted (v)'? Тогда вы просто хотите сделать то же самое для каждого уровня? –
Ну, у меня есть несколько массивов '(m, n)', по одному для каждого слоя. Я хочу знать, между какими уровнями будет значение, для каждого элемента в '(m, n)'. т.е. для элемента [1] [1] значение 950 будет находиться между слоем 0 и слоем 1. –
Я вижу, так что должно быть так, что для данной точки 'A [:, i, j]' значения давления монотонно возрастают на разных уровнях (в противном случае то, что вы просите, не имеет смысла) –