📌  相关文章
📜  numpy 数组唯一值计数 (1)

📅  最后修改于: 2023-12-03 15:18:03.230000             🧑  作者: Mango

numpy 数组唯一值计数

在使用 numpy 进行数据分析时,经常会遇到需要统计数组中唯一值数量的情况。numpy 提供了 numpy.unique() 方法来实现这个功能。

1. 基础用法

numpy.unique() 方法可以将数组中的唯一值提取出来,并返回一个新的数组。

import numpy as np

arr = np.array([1, 2, 2, 3, 3, 3])
unique_arr = np.unique(arr)

print(unique_arr)

输出结果如下:

[1 2 3]

unique_arr 中只包含了 arr 中出现过的唯一值,其他重复的值都被删除了。

2. 计数统计

numpy.unique() 方法还可以统计每个唯一值出现的次数,可以使用 return_counts=True 参数实现。

import numpy as np

arr = np.array([1, 2, 2, 3, 3, 3])
unique_arr, counts = np.unique(arr, return_counts=True)

print(unique_arr)
print(counts)

输出结果如下:

[1 2 3]
[1 2 3]

可以看到,unique_arr 中还是只包含了 arr 中出现过的唯一值,而 counts 中记录了每个唯一值出现的次数。

3. 多维数组

numpy.unique() 方法同样可以处理多维数组,只需要设置 axis 参数指定哪一个维度即可。

import numpy as np

arr = np.array([
    [1, 2, 2],
    [3, 3, 3],
    [1, 2, 3]
])

unique_arr, counts = np.unique(arr, return_counts=True, axis=0)

print(unique_arr)
print(counts)

输出结果如下:

[[1 2 2]
 [1 2 3]
 [3 3 3]]
[1 1 1]

可以看到,unique_arr 中包含了数组中所有的唯一行,而 counts 中每个唯一行出现的次数都是 1。

4. 结语

numpy.unique() 方法提供了一种简单而有效的方法来计算数组中唯一值的数量和出现次数。在数据分析和数据挖掘的任务中,这一功能非常有用。