python numpy统计元素个数
NumPy中的unique()函数可以用来统计数组中不同元素的个数。它的用法如下:
import numpy as np # 创建一个一维数组 arr = np.array([1, 2, 2, 3, 3, 3]) # 统计不同元素的个数 unique_vals, counts = np.unique(arr, return_counts=True) print(unique_vals) print(counts)
输出结果为:
[1 2 3] [1 2 3]
在这个例子中,我们首先创建了一个一维数组arr,其中包含了一些重复的元素。然后,我们使用np.unique()函数来找出数组中的不同元素,并统计它们出现的次数。return_counts=True参数使函数返回一个包含每个不同元素出现次数的数组。最后,我们将结果打印出来。
注意,np.unique()函数返回的结果是按照元素在数组中出现的顺序排序的。如果需要按照出现次数从多到少排序,可以使用numpy.argsort()函数来对counts数组进行排序,并使用这个排序结果对unique_vals数组进行排序。例如:
# 对不同元素出现次数进行排序 sort_indices = np.argsort(-counts) unique_vals = unique_vals[sort_indices] counts = counts[sort_indices] print(unique_vals) print(counts)
输出结果为:
[3 2 1] [3 2 1]
在这个例子中,我们使用numpy.argsort()函数对counts数组进行排序,并使用这个排序结果对unique_vals数组进行排序。注意,我们使用了-counts来对数组进行降序排列。最后,我们将排序后的结果打印出来。
相关文章