2016-05-23 58 views
-1

這是我的問題。例如,有一個數據幀顯示這樣的:在n行中刪除n-1行在Python中是完全相同的

### df 
Name Code Mass 
a01 j1 0.55 
a01 j1 0.55 
a01 j1 0.55 
a02 j2 0.33 
a02 j2 0.33 
a03 j3 0.23 
a04 j4 0.23 

有幾個行是相同的(例如,行與名稱「A01」)。

我想留下一行並放棄冗餘。

我的目標數據框應該顯示這樣的:

>df 
Name Code Mass 
a01 j1 0.55 
a02 j2 0.33 
a03 j3 0.23 
a04 j4 0.23 

回答

3

使用drop_duplicates

print (df.drop_duplicates()) 
    Name Code Mass 
0 a01 j1 0.55 
3 a02 j2 0.33 
5 a03 j3 0.23 
6 a04 j4 0.23 

它一樣具有參數keep='first',因爲first默認爲:

print (df.drop_duplicates(keep='first')) 
    Name Code Mass 
0 a01 j1 0.55 
3 a02 j2 0.33 
5 a03 j3 0.23 
6 a04 j4 0.23 

您也可以使用:

#keep last value 
print (df.drop_duplicates(keep='last')) 
    Name Code Mass 
2 a01 j1 0.55 
4 a02 j2 0.33 
5 a03 j3 0.23 
6 a04 j4 0.23 

#drop all duplicates 
print (df.drop_duplicates(keep=False)) 
    Name Code Mass 
5 a03 j3 0.23 
6 a04 j4 0.23