我有一个带有气压值的三维数组:
[[[1000 1010]
[1005 990]]
[[950 960]
[955 940]]
[[900 910]
[905 890]]]
结构代表不同层次的压力,因此每个层中的每个元素都按顺序排列。
我想知道每个2d元素的压力为950,获得每个元素的水平索引的2-d数组。
在像
这样的一维数组中a = [890, 940, 990]
我会用
a.searchsorted(950)
,结果为2,表示950将进入第3位。
有没有办法一次为我的所有数组执行此操作,而不必为每个2-d元素执行此操作?
答案 0 :(得分:4)
您可以沿输入数组的轴应用searchsorted函数,如下所示:
numpy.apply_along_axis(lambda a: a.searchsorted(950), axis = 1, arr = air_pr)
如果我理解正确的话,会产生预期的结果。