import numpy as np
import pandas as pd
标记重复值&删除重复值
df1 = pd. DataFrame( { "A" : [ 1 , 1 , 5 , 1 ] , "B" : [ 2 , 2 , 2 , 5 ] , "C" : [ 1 , 1 , 3 , 6 ] , "D" : [ 3 , 3 , 5 , 6 ] , "E" : [ 8 , 8 , 1 , 1 ] } )
df1
A B C D E 0 1 2 1 3 8 1 1 2 1 3 8 2 5 2 3 5 1 3 1 5 6 6 1
1.标记重复的行从前往后
df1. duplicated( keep= 'first' )
0 False
1 True
2 False
3 False
dtype: bool
2.标记C列重复的行从后往前
df1. duplicated( keep= 'last' , subset= 'C' )
0 True
1 False
2 False
3 False
dtype: bool
3.删除0行
df1. drop_duplicates( keep= 'last' )
4.删除1行
df1. drop_duplicates( keep= 'first' )
5.删除0,1行
df1. drop_duplicates( keep= False )
6.删除1,2行
df1. drop_duplicates( subset= 'B' , keep= 'first' )
7.删除0,2行
df1. drop_duplicates( subset= 'E' , keep= 'last' )
8.删除1,3行
df1. drop_duplicates( subset= 'E' , keep= 'first' )
9.删除2行
df1. loc[ 1 ] = [ 5 , 2 , 3 , 5 , 1 ] // 修改某一行的数据集,进行删除某行
df1
A B C D E 0 1 2 1 3 8 1 5 2 3 5 1 2 5 2 3 5 1 3 1 5 6 6 1
df1. drop_duplicates( subset= 'C' , keep= 'first' )
10.删除前3行
df1. drop_duplicates( subset= 'B' , keep= False )