pandas 删除重复项

使用如下函数:

drop_duplicates

具体示例如下:

import pandas as pd
# 建立一个dataframe数据
df = pd.DataFrame({'k1':['one']*3+['two']*4,'k2':[1,1,2,3,3,4,4]})
df['v1']=range(7)
df  
# 结果:
    k1  k2  v1
0   one 1   0
1   one 1   1
2   one 2   2
3   two 3   3
4   two 3   4
5   two 4   5
6   two 4   6
1.删除完全重复的行
df.drop_duplicates()
# 由于没有完全重复的行,因此返回结果跟原数据一致
# 结果:
    k1  k2  v1
0   one 1   0
1   one 1   1
2   one 2   2
3   two 3   3
4   two 3   4
5   two 4   5
6   two 4   6
2.按k1进行去重,对于重复项,保留第一次出现的值
df.drop_duplicates('k1',keep='first')
# 结果:
    k1  k2  v1
0   one 1   0
3   two 3   3
3.按k2和k1两列进行去重
df.drop_duplicates(['k2','k1'],keep='first')
# 结果:
    k1  k2  v1
0   one 1   0
2   one 2   2
3   two 3   3
5   two 4   5

keep:{‘first’, ‘last’, False}, 默认值 ‘first’

  • first:保留第一次出现的重复行,删除后面的重复行。
  • last:删除前面的重复项,保留最后一次出现的重复行。
  • False:删除所有重复项

 

参考链接:https://www.jianshu.com/p/cb217042aca9

posted @ 2021-01-16 17:16  胸怀丶若谷  阅读(731)  评论(0编辑  收藏  举报