2

我有一个带有气压值的三维数组,格式如下:

[[[1000 1010]
  [1005 990]]

[[950 960]
 [955 940]]

[[900 910]
[905 890]]]

该结构表示不同级别的压力,因此 2-d 中的每个元素都针对每一层进行排序。

我想知道每个二维元素的压力为 950 在哪个级别,得到一个二维数组,其中包含每个元素的级别索引。

在像这样的一维数组中

a = [890, 940, 990]

我会用

a.searchsorted(950)

结果为 2,表示 950 将排在第 3 位。

有没有办法一次为我的所有数组执行此操作,而不必为每个二维元素执行此操作?

4

1 回答 1

5

您可以沿输入数组的轴应用 searchsorted 函数,如下所示:

numpy.apply_along_axis(lambda a: a.searchsorted(950), axis = 1, arr = air_pr)

如果我理解正确,这应该会产生预期的结果。

于 2013-07-19T12:54:34.640 回答