jax.numpy.argsort#
- jax.numpy.argsort(a, axis=-1, *, kind=None, order=None, stable=True, descending=False)[source]#
返回对数组进行排序的索引。
JAX 实现
numpy.argsort()
.- 参数:
- 返回:
排序数组的索引数组。返回的数组的形状将为
a.shape
(如果axis
是整数)或(a.size,)
(如果axis
为 None)。- 返回类型:
示例
简单的 1 维排序
>>> x = jnp.array([1, 3, 5, 4, 2, 1]) >>> indices = jnp.argsort(x) >>> indices Array([0, 5, 4, 1, 3, 2], dtype=int32) >>> x[indices] Array([1, 1, 2, 3, 4, 5], dtype=int32)
沿着数组的最后一个轴排序
>>> x = jnp.array([[2, 1, 3], ... [6, 4, 3]]) >>> indices = jnp.argsort(x, axis=1) >>> indices Array([[1, 0, 2], [2, 1, 0]], dtype=int32) >>> jnp.take_along_axis(x, indices, axis=1) Array([[1, 2, 3], [3, 4, 6]], dtype=int32)
另请参见
jax.numpy.sort()
: 直接返回排序后的值。jax.numpy.lexsort()
: 多个数组的字典序排序。jax.lax.sort()
: 包装 XLA 的 Sort 运算符的底层函数。