在處理pandas數(shù)據(jù)時玉雾,有時候需要刪除重復(fù)數(shù)據(jù)多柑,pandas為我們提供了drop_duplicates()函數(shù)。下面對其使用方法進(jìn)行介紹:
# 首先導(dǎo)入常用的兩個包
import pandas as pd
import numpy as np
# 建立一個dataframe數(shù)據(jù)
df = pd.DataFrame({'k1':['one']*3+['two']*4,'k2':[1,1,2,3,3,4,4]})
df['v1']=range(7)
df
# 結(jié)果:
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.刪除完全重復(fù)的行
df.drop_duplicates()
# 由于沒有完全重復(fù)的行懂版,因此返回結(jié)果跟原數(shù)據(jù)一致
# 結(jié)果:
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進(jìn)行去重萌狂,對于重復(fù)項(xiàng)档玻,保留第一次出現(xiàn)的值
df.drop_duplicates('k1',keep='first')
# 結(jié)果:
k1 k2 v1
0 one 1 0
3 two 3 3
3.按k2和k1兩列進(jìn)行去重
df.drop_duplicates(['k2','k1'],keep='first')
# 結(jié)果:
k1 k2 v1
0 one 1 0
2 one 2 2
3 two 3 3
5 two 4 5
keep:{‘first’, ‘last’, False}, 默認(rèn)值 ‘first’
- first:保留第一次出現(xiàn)的重復(fù)行,刪除后面的重復(fù)行茫藏。
- last:刪除前面的重復(fù)項(xiàng)误趴,保留最后一次出現(xiàn)的重復(fù)行。
- False:刪除所有重復(fù)項(xiàng)