pandas库中unique函数方法详解
2024.01.17 21:16浏览量:33简介:pandas库中的unique函数是用于提取唯一值的强大工具,适用于Series和DataFrame对象。本文将详细介绍unique函数的用法、参数、返回值以及实际应用案例。
在pandas库中,unique函数是一个非常实用的函数,用于提取唯一值。它适用于Series和DataFrame对象,可以根据需求提取不同类型的数据。下面将详细介绍unique函数的用法、参数、返回值以及实际应用案例。
一、unique函数的用法
unique函数的基本语法如下:
pandas.unique(arr)
其中,arr是一个Series或DataFrame对象。
二、unique函数的参数
- axis:可选参数,默认为0,表示在哪个轴上提取唯一值。当axis=0时,表示在行方向上提取唯一值;当axis=1时,表示在列方向上提取唯一值。
- level:可选参数,表示根据哪个层级提取唯一值。当level=None时,表示提取所有级别的唯一值。
- dropna:可选参数,默认为True,表示是否忽略空值(NaN)。当dropna=True时,表示只提取非空值的唯一值;当dropna=False时,表示提取所有值的唯一值,包括空值。
- return_index:可选参数,默认为False,表示是否返回唯一值的索引。当return_index=True时,返回唯一值的索引;当return_index=False时,只返回唯一值本身。
- return_inverse:可选参数,默认为False,表示是否返回一个与原始数组相对应的索引数组。当return_inverse=True时,返回一个索引数组;当return_inverse=False时,只返回唯一值本身。
- return_counts:可选参数,默认为False,表示是否返回每个唯一值的计数。当return_counts=True时,返回一个计数数组;当return_counts=False时,只返回唯一值本身。
三、unique函数的返回值
unique函数根据参数的不同,返回不同的结果。当参数都为默认值时,返回一个包含唯一值的数组。如果指定了axis、level、dropna等参数,返回的结果会相应地改变。例如,如果指定了return_index=True,则返回一个由唯一值和对应索引组成的元组;如果指定了return_inverse=True,则返回一个由原始数组和对应索引组成的元组等。
四、unique函数的应用案例
下面通过几个实际应用案例来展示如何使用unique函数: - 提取唯一值:假设有一个包含重复值的Series对象,可以使用unique函数提取所有唯一值。
import pandas as pds = pd.Series([1, 2, 2, 3, 4, 4, 5])unique_values = s.unique()print(unique_values) # 输出 [1 2 3 4 5]
- 按轴提取唯一值:使用axis参数可以按行或列提取唯一值。例如,假设有一个DataFrame对象,可以按行或列提取唯一值。
df = pd.DataFrame({'A': [1, 2, 2, 3], 'B': [3, 4, 4, 5]})row_unique = df.apply(lambda x: x.unique(), axis=1)print(row_unique) # 按行提取唯一值col_unique = df.apply(lambda x: x.unique(), axis=0)print(col_unique) # 按列提取唯一值
- 忽略空值:使用dropna参数可以忽略空值(NaN)。例如,假设有一个包含空值的Series对象,可以使用dropna=True来提取非空值的唯一值。
s = pd.Series([1, np.nan, 2, np.nan, 3])unique_values = s.unique() # 不指定dropna参数时,返回[1.0, 2.0, 3.0, nan]unique_values = s.unique(dropna=True) # 指定dropna=True时,返回[1.0, 2.0, 3.0]
- 返回索引和计数:使用return_index和return_counts参数可以返回索引和计数信息。例如,假设有一个包含重复值的Series对象,可以使用这些参数来获取每个唯一值的索引和计数信息。
通过以上详细介绍和案例演示,我们可以看出unique函数在处理重复

发表评论
登录后可评论,请前往 登录 或 注册