2017-01-19 21 views
0

我有一個熊貓數據框df,我想要查找列A的值相同的所有行,但列B的值不同如:熊貓在一列中搜索具有不同值的另一列中的重複行

 | A | B 
    ---|---|--- 
    0 | 2 | x 
    1 | 2 | y 

我知道我可以使用pd.concat(g for _, g in df.groupby('A') if len(g) > 1)A重複值獲得的行,但我怎麼添加第二個約束?

+0

你可以張貼作爲結果所需的輸出可以在很多方面 – EdChum

回答

1

想到這裏,是有意義的調用uniquegroupby

In [213]: 
df = pd.DataFrame({'A':2, 'B':list('xxyzz')}) 
df 

Out[213]: 
    A B 
0 2 x 
1 2 x 
2 2 y 
3 2 z 
4 2 z 

In [229]: 
df.groupby('A')['B'].apply(lambda x: x.unique()).reset_index() 

Out[229]: 
    A   B 
0 2 [x, y, z] 
+0

我認爲你需要擴大從出來的結果進行解釋[229]接下來,這樣你就有兩行三列。那麼答案就完成了。 – Make42

+0

@ Make42我還在等待期望的輸出,OP從未響應 – EdChum

+0

我認爲提供的表既是示例又是期望的輸出。 – Make42

相關問題