python | Pandas库数据预处理-重复值篇:drop_duplicates()函数及其subset参数、keep参数

相关文章 

python | Pandas库数据预处理-缺失值篇:info()、isnull()、dropna()、fillna()函数icon-default.png?t=N7T8https://blog.csdn.net/m0_61523149/article/details/124009296


目录

原数据

导入数据

drop_duplicates():去重函数

subset参数:设置去重参照列

keep参数:设置去重要保留的数据


原数据


导入数据

import pandas as pd

student = pd.read_excel(r'E:\2022Python\重复值数据.xlsx')
# 原数据
print(student)

输出结果如下:

   学号  姓名 性别  班级
0   1  小明  男   1
1   1  小明  男   1
2   2  小红  女   2
3   2  小聪  男   2
4   3  小亮  男   1
5   3  小丽  女   2
6   4  小晶  男   3
7   5  小美  女   4

drop_duplicates():去重函数

# 按所有列去重,默认保留第一个
print(student.drop_duplicates())

输出结果如下:

   学号  姓名 性别  班级
0   1  小明  男   1
2   2  小红  女   2
3   2  小聪  男   2
4   3  小亮  男   1
5   3  小丽  女   2
6   4  小晶  男   3
7   5  小美  女   4

subset参数:设置去重参照列

# 按某几列去重,默认保留第一个
print(student.drop_duplicates(subset=['学号', '班级']))

# 按某一列去重,默认保留第一个
print(student.drop_duplicates(subset='学号'))

输出结果如下:

   学号  姓名 性别  班级
0   1  小明  男   1
2   2  小红  女   2
4   3  小亮  男   1
5   3  小丽  女   2
6   4  小晶  男   3
7   5  小美  女   4
   学号  姓名 性别  班级
0   1  小明  男   1
2   2  小红  女   2
4   3  小亮  男   1
6   4  小晶  男   3
7   5  小美  女   4

keep参数:设置去重要保留的数据

# 'first':保留第一个
print(student.drop_duplicates(keep='first'))

# 'last':保留最后一个
print(student.drop_duplicates(keep='last'))

# False:全部不保留
print(student.drop_duplicates(keep=False))

输出结果如下:

   学号  姓名 性别  班级
0   1  小明  男   1
2   2  小红  女   2
3   2  小聪  男   2
4   3  小亮  男   1
5   3  小丽  女   2
6   4  小晶  男   3
7   5  小美  女   4
   学号  姓名 性别  班级
1   1  小明  男   1
2   2  小红  女   2
3   2  小聪  男   2
4   3  小亮  男   1
5   3  小丽  女   2
6   4  小晶  男   3
7   5  小美  女   4
   学号  姓名 性别  班级
2   2  小红  女   2
3   2  小聪  男   2
4   3  小亮  男   1
5   3  小丽  女   2
6   4  小晶  男   3
7   5  小美  女   4