Pandas详解二十一之移除重复数据

约定

import pandas as pd

移除重复数据

DataFrame中经常会出现重复行,利用duplicated()函数返回每一行判断是否重复的结果(重复则为True),drop_duplicates([key1,key2,..])则可去除重复行。

1 判断每一行是否重复

df1=pd.DataFrame({'A':[1,1,1,2,2,3],'B':list("aabbbc")})
print(df1)
   A  B
0  1  a
1  1  a
2  1  b
3  2  b
4  2  b
5  3  c
df1.duplicated()
0    False
1     True
2    False
3    False
4     True
5    False
dtype: bool

2 去除全部的重复行

print(df1.drop_duplicates())
   A  B
0  1  a
2  1  b
3  2  b
5  3  c

3 指定列去除重复行

print(df1.drop_duplicates(['A']))
   A  B
0  1  a
3  2  b
5  3  c

4 保留重复行中的最后一行

print(df1.drop_duplicates(['A'],keep='last'))
   A  B
2  1  b
4  2  b
5  3  c

5 去除重复的同时改变DataFrame对象

df1.drop_duplicates(['A','B'],inplace=True)
print(df1)
   A  B
0  1  a
2  1  b
3  2  b
5  3  c

谢谢大家的浏览,
希望我的努力能帮助到您,
共勉!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章