我有一个三维数组,其中气压值的形式为:
[[[1000 1010]
[1005 990]]
[[950 960]
[955 940]]
[[900 910]
[905 890]]]
该结构代表不同级别的压力,因此二维中的每个元素都针对每一层进行排序。
我想知道每个二维元素的压力为 950 在哪个级别,获取一个二维数组,其中包含每个元素的级别索引。
在一维数组中,例如
a = [890, 940, 990]
我会使用
a.searchsorted(950)
结果为 2,表示 950 将排在第三位。
有没有办法一次对我的所有数组执行此操作,而不必对每个二维元素执行此操作?
最佳答案
您可以沿着输入数组的轴应用 searchsorted 函数,如下所示:
numpy.apply_along_axis(lambda a: a.searchsorted(950), axis = 1, arr = air_pr)
如果我理解正确的话,应该会产生预期的结果。
关于python - numpy.search在多维数组中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17746199/