You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用numpy.unique获取数值数组中每个唯一值的出现次数?

获取NumPy数组中唯一值的出现次数

嘿,其实你不用额外找其他函数,np.unique()本身就可以直接返回每个唯一值的出现次数!只需要加一个参数就行,我给你详细说说:

核心用法

调用np.unique()时,传入return_counts=True参数,它会返回两个数组:

  • 第一个数组是原数组中的唯一值(默认按升序排列)
  • 第二个数组是对应每个唯一值的出现次数

举个实际例子看看:

import numpy as np

# 创建测试数组
a = np.array([1, 2, 2, 3, 3, 3, 4, 1, 1])

# 获取唯一值和对应次数
unique_values, counts = np.unique(a, return_counts=True)

# 输出结果
print("唯一值:", unique_values)
print("对应次数:", counts)

运行这段代码会输出:

唯一值: [1 2 3 4]
对应次数: [3 2 3 1]

也就是1出现3次,2出现2次,3出现3次,4出现1次,完美对应上原数组的情况。

额外小技巧

如果你的数组是多维的,np.unique()默认会先把数组扁平化再统计。如果想按特定维度(比如行、列)统计唯一元素的次数,可以加上axis参数:

# 二维数组示例
a_2d = np.array([[1,2], [2,3], [1,2], [3,4]])

# 按行统计唯一行的出现次数
unique_rows, row_counts = np.unique(a_2d, axis=0, return_counts=True)
print("唯一行:\n", unique_rows)
print("行出现次数:", row_counts)

输出会是:

唯一行:
 [[1 2]
 [2 3]
 [3 4]]
行出现次数: [2 1 1]

这样就能轻松搞定多维数组的行/列级唯一值统计啦!

内容的提问来源于stack exchange,提问作者user297850

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:18:21