2017-08-14 1 views
0

すべての試験成績が同じであれば研究IDを保持したいが、そうでない場合はデータの完全性に頼ることができず、IDを破棄する必要があります。他の列のレコードがすべて同じ値を持つ場合にのみ重複を持つパンダのDFにIDを保持するにはどうすればよいですか?

私は辞書を作成しようとしましたが、下の研究IDではL4だけが値として保存されました。

ResearchID TestGrade 
1026379  L4 
1026379  L2 
1026379  L4 
1026379  L4 
1026379  L4 

答えて

0

あなたが研究IDをgroupby、次いでunique試験グレードの長さがfilterを使用して、1に等しいだけのIDを保つことができます。

df.groupby('ResearchID').filter(lambda g: len(g.TestGrade.unique()) == 1) 
+1

または、「df.groupby( 'ResearchID')。filter(lambda g:g.TestGrade.nunique()== 1) ' – Zero

関連する問題