jax.numpy.unique_counts#
- jax.numpy.unique_counts(x, /, *, size=None, fill_value=None)[源代码]#
从 x 返回唯一值以及计数。
numpy.unique_counts()
的 JAX 实现;这相当于调用jax.numpy.unique()
,并将 return_counts 和 equal_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)
,具有以下属性
另请参阅
jax.numpy.unique()
:用于计算唯一值的通用函数。jax.numpy.unique_values()
:仅计算values
。jax.numpy.unique_inverse()
:仅计算values
和inverse
。jax.numpy.unique_all()
:计算values
、indices
、inverse_indices
和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)
有关
size
和fill_value
参数的示例,请参阅jax.numpy.unique()
。