这是 pandas 快速上手系列的第 5 篇文章,本篇详细介绍了 unique 的使用和示例。pandas 库中的 unique 方法用于获取 DataFrame/Series 中唯一的值或记录。它通常用于查看数据中存在哪些唯一值、去重以及一些数据探索和清理任务。
语法:
代码语言:javascript复制DataFrame.unique() # 返回所有列的唯一值构成的 Numpy 数组
Series.unique() # 返回 Series 中的唯一值构成的 Numpy 数组
主要使用 unique 查看某列或整个 DataFrame 的唯一值有哪些。
代码语言:javascript复制In [30]: import pandas as pd
...:
...: # 创建示例 DataFrame
...: data = {'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Charlie'],
...: 'Age': [25, 30, 35, 25, 35],
...: 'City': ['New York', 'Paris', 'London', 'New York', 'Sydney']}
...: df = pd.DataFrame(data)
In [59]: df
Out[59]:
Name Age City
0 Alice 25 New York
1 Bob 30 Paris
2 Charlie 35 London
3 Alice 25 New York
4 Charlie 35 Sydney
In [31]: # 获取 Name 列的唯一值
...: print(df['Name'].unique())
['Alice' 'Bob' 'Charlie']
获取 DataFrame 中的唯一行记录,使用 drop_duplicates 方法,上面是行索引 0 的内容和行索引 3 的重复,所以会删除索引3的内容
代码语言:javascript复制In [32]: print(df.drop_duplicates())
Name Age City
0 Alice 25 New York
1 Bob 30 Paris
2 Charlie 35 London
4 Charlie 35 Sydney
根据指定列索引去重,可以设置保留第一个或者最后一个值
代码语言:javascript复制In [33]: df.drop_duplicates(subset='Name', keep='first')
Out[33]:
Name Age City
0 Alice 25 New York
1 Bob 30 Paris
2 Charlie 35 London