2017-08-05 63 views
1

這很簡單,但我無法讓它回頭。比方說,以下的數據幀,我想只保留與y列重複值的行:從大熊貓中刪除非重複的行

>>> df 
    x y 
    x y 
0 1 1 
1 2 2 
2 3 2 
3 4 3 
4 5 3 
5 6 3 
6 7 5 
7 8 2 

所需的輸出看起來像:

>>> df 
    x y 
1 2 2 
2 3 2 
3 4 3 
4 5 3 
5 6 3 
7 8 2 

我嘗試這樣做:

df[~df.duplicated('y')] 

,但我得到這個:

x y 
0 1 1 
1 2 2 
3 4 3 
6 7 5 

回答

3

個文檔:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.duplicated.html

保持:{「第一」,「最後」,假},默認的「第一」

  • 第一:除了第一次出現馬克 重複爲真。

  • 上一個:馬克 重複爲真,除了最後一次出現。

  • 錯誤:將所有 重複項標記爲True。

這意味着你正在尋找:

df[df.duplicated('y',keep=False)] 

輸出:

x y 
1 2 2 
2 3 2 
3 4 3 
4 5 3 
5 6 3 
7 8 2