2017-01-19 7 views
0

私は列Aの値が同じだが、列Bの値が異なるすべての行を検索するパンダのデータフレームdfを持っています例えば:別の列に異なる値を持つある列の重複行を検索する

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

私はAの重複する値を持つ行を取得するためにpd.concat(g for _, g in df.groupby('A') if len(g) > 1)を使用することができます知っているが、どのように私は2番目の制約を追加しますか?これについて考える

+0

結果は多くの点で、私はあなたがアウトからの結果を拡張する必要があると思う – EdChum

答えて

1

、それはgroupbyuniqueを呼び出すことは理にかなって:

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]次に、2つの列に対して3つの行があるようにします。その後、答えは完了する。 – Make42

+0

@ Make42私はまだ希望の出力を待っている、OPは決して応答しません – EdChum

+0

私は提供された表は、例と希望出力の両方だと思います。 – Make42

関連する問題