📅  最后修改于: 2023-12-03 15:18:03.230000             🧑  作者: Mango
在使用 numpy 进行数据分析时,经常会遇到需要统计数组中唯一值数量的情况。numpy 提供了 numpy.unique()
方法来实现这个功能。
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
中出现过的唯一值,其他重复的值都被删除了。
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
中记录了每个唯一值出现的次数。
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。
numpy.unique()
方法提供了一种简单而有效的方法来计算数组中唯一值的数量和出现次数。在数据分析和数据挖掘的任务中,这一功能非常有用。