NumPy提供了多种方法用于对数组进行去重。下面介绍其中的几种方法:
numpy.unique()
numpy.unique()函数可以用于找到数组中的唯一值,并以排序的形式返回结果。它的参数包括:
- arr:需要去重的数组;
- return_index:如果为True,则返回输入数组中唯一元素的索引;
- return_inverse:如果为True,则返回输入数组中唯一元素的索引的反向数组;
- return_counts:如果为True,则返回输入数组中唯一元素的出现次数。
示例代码如下:
import numpy as np
arr = np.array([1, 2, 3, 2, 4, 3, 5, 6, 5, 7])
unique_arr = np.unique(arr)
print(unique_arr) # [1 2 3 4 5 6 7]
numpy.ndarray.flatte()方法
numpy.ndarray.flatten()方法可以用于将多维数组变为一维数组,并去掉其中的重复元素。该方法没有参数。示例代码如下:
import numpy as np
arr = np.array([[1, 2, 3], [2, 4, 3], [5, 6, 5], [7, 8, 7]])
unique_arr = np.ndarray.flatten(arr)
unique_arr = np.unique(unique_arr)
print(unique_arr) # [1 2 3 4 5 6 7 8]
numpy.bincount()方法
numpy.bincount()方法可以用于计算非负整数数组中每个元素出现的次数。该方法返回一个长度为n的数组,其中第i个元素表示数字i在输入数组中出现的次数。该方法仅适用于非负整数数组。示例代码如下:
import numpy as np
arr = np.array([1, 2, 3, 2, 4, 3, 5, 6, 5, 7])
unique_arr, counts = np.unique(arr, return_counts=True)
print(unique_arr) # [1 2 3 4 5 6 7]
print(counts) # [1 2 2 1 2 1 1]
pandas.Series.unique()方法
pandas.Series.unique()方法可以用于找到一个pandas.Series对象中的唯一值。它与numpy.unique()函数类似。
示例代码如下:
import pandas as pd
s = pd.Series([1, 2, 3, 2, 4, 3, 5, 6, 5, 7])
unique_arr = s.unique()
print(unique_arr) # [1 2 3 4 5 6 7]
这些方法都可以用于对NumPy数组进行去重,具体使用哪种方法,要根据实际需求和数据类型来选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:NumPy数组最常用的4个去重方法 - Python技术站