删除其中至少一个包含特定ID的Dataframe的所有行

时间:2018-03-19 16:45:46

标签: python pandas

我有以下带有用户状态的数据框:

id  name      email          status_id  
23  Alex      a@a.com        1
23  Alex      a@a.com        2
23  Alex      a@a.com        3
25  Bill      b@b.com        2
25  Bill      b@b.com        3
28  Claire    c@c.com        3
29  David     d@d.com        1
29  David     d@d.com        2

我想从数据框中删除至少有一行其中status_id等于1的所有用户,在这种情况下,预期的数据帧是:

id  name      email          status_id  
25  Bill      b@b.com        2
25  Bill      b@b.com        3
28  Claire    c@c.com        3

如果我只能获得没有重复的用户,那也会更好,所以最终的数据框将是:

id  name      email 
25  Bill      b@b.com
28  Claire    c@c.com

1 个答案:

答案 0 :(得分:1)

IIUC

df.loc[~df.id.isin(df.id.loc[df.status_id==1])].drop_duplicates('name')
Out[505]: 
   id    name    email  status_id
3  25    Bill  b@b.com          2
5  28  Claire  c@c.com          3

删除重复

  $('.menu').click(function() {
    if ($('.menu_img').hasClass('active_img')) {
      $('.menu_img').removeClass('active_img');
    } else {
        $('.menu_img').addClass('active_img');
    }
});