python numpy统计元素个数

2023-03-09 00:00:00 元素 统计 个数

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来对数组进行降序排列。最后,我们将排序后的结果打印出来。

相关文章