jax.numpy.unique_counts#

jax.numpy.unique_counts(x, /, *, size=None, fill_value=None)[源代码]#

从 x 返回唯一值以及计数。

numpy.unique_counts() 的 JAX 实现;这相当于调用 jax.numpy.unique(),并将 return_countsequal_nan 设置为 True。

由于 unique_counts 的输出大小取决于数据,因此该函数通常与 jit() 和其他 JAX 转换不兼容。JAX 版本添加了可选的 size 参数,该参数必须静态指定,以便 jnp.unique 可以在这种上下文中使用。

参数:
  • x (ArrayLike) – 将从中提取唯一值的 N 维数组。

  • size (int | None | None) – 如果指定,则仅返回前 size 个排序的唯一元素。如果唯一元素的数量少于 size 指示的数量,则返回值将使用 fill_value 填充。

  • fill_value (ArrayLike | None | None) – 当指定 size 且元素数量少于指示数量时,使用 fill_value 填充剩余的条目。默认为最小的唯一值。

返回:

  • values:

    一个形状为 (n_unique,) 的数组,包含 x 中的唯一值。

  • counts:

    一个形状为 (n_unique,) 的数组。包含 x 中每个唯一值出现的次数。

返回类型:

一个元组 (values, counts),具有以下属性

另请参阅

示例

这里我们计算一维数组中的唯一值

>>> x = jnp.array([3, 4, 1, 3, 1])
>>> result = jnp.unique_counts(x)

结果是一个 NamedTuple,带有两个命名属性。values 属性包含数组中的唯一值

>>> result.values
Array([1, 3, 4], dtype=int32)

counts 属性包含输入中每个唯一值的计数

>>> result.counts
Array([2, 2, 1], dtype=int32)

有关 sizefill_value 参数的示例,请参阅 jax.numpy.unique()