程序员的公众号:源1024,获取更多资料,无加密无套路!
最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上
drop_duplicates()
根据所有列删除重复的行
import pandas as pd
import numpy as np
from pandas import Series,DataFramedf = DataFrame([['小班','10'],['中班','15'],['大班','20'],['大班','20']],columns=['name','num'])print(df.drop_duplicates())#输出name num
0 小班 10
1 中班 15
2 大班 20
删除指定列的重复数据,使用subset参数
df1 = DataFrame([['小班','10'],['中班','15'],['大班','20'],['大班','15']],columns=['name','num'])
print(df1.drop_duplicates(subset=['num']))
print(df1.drop_duplicates(subset='num'))#输出name num
0 小班 10
1 中班 15
2 大班 20name num
0 小班 10
1 中班 15
2 大班 20
删除指定列的重复数据,保留最后一次数据,使用keep
df = DataFrame([['小班','10'],['中班','15'],['大班','20'],['小班','10']],columns=['name','num'])print(df.drop_duplicates(subset=['name','num'],keep='last'))#输出name num
1 中班 15
2 大班 20
3 小班 10
删除重复数据后,重新设置行索引,使用ignore_index
df = DataFrame([['小班','10'],['中班','15'],['大班','20'],['小班','10']],columns=['name','num'])print(df.drop_duplicates(subset=['name','num'],keep='last',ignore_index=True))#输出name num
0 中班 15
1 大班 20
2 小班 10
直接删除原DataFrame的重复数据,使用inplace=True
df = DataFrame([['小班','10'],['中班','15'],['大班','20'],['大班','20']],columns=['name','num'])df_2 = df.drop_duplicates(inplace=True)
print(df_2)
print(df)#输出Nonename num
0 小班 10
1 中班 15
2 大班 20
系列文章索引
Python (一) 操作Mysql
Python (二) 读写excel文件
Python (三) 读写csv文件
Python (四)读写word
Python (五) 处理图像
Python (六) 绘图
Python(七)操作JSON