python - numpy.search在多维数组中排序

标签 python numpy multidimensional-array

我有一个三维数组,其中气压值的形式为:

[[[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/

相关文章:

python - 如何通过方法使用 numba.jit

python - 在列表列表中搜索一列的最大数字

python - rpy内存泄漏

python - 在大型 numpy 数组中查找常量子数组

python-3.x - 在 Python 中加速 MSD 计算

javascript - 如何将 Map.get() 与数组数组一起使用

python - 在我正在编写的函数中使用 pandas.read_csv 文档字符串

python - 从 python 中的 numpy 矩阵计算这两个元素对的两个元素的单独频率

PHP:从数组中获取 key ?

arrays - 如何检查数组是否为多维数组