jax.numpy.argsort#
- jax.numpy.argsort(a, axis=-1, *, kind=None, order=None, stable=True, descending=False)[源代码][源代码]#
返回排序数组的索引。
JAX 实现的
numpy.argsort()
。- 参数:
- 返回:
对数组进行排序的索引数组。返回的数组形状将是
a.shape``(如果 ``axis
是整数)或形状(a.size,)``(如果 ``axis
是 None)。- 返回类型:
示例
简单的一维排序
>>> 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的排序操作的底层函数。