2016-02-10 176 views
1

我想刪除熊貓數據框中的一些行。刪除熊貓數據框中的行

id marks 
1 123 45 
2 124 67 
3 127 89 
4 257 10 
5 345 34 

delRows = [123,127] 

輸出應該是 -

id marks 
2 124 67 
4 257 10 
5 345 34 

誰能告訴該怎麼辦呢?

df = df[df.id != delRows] 

是它做的正確方法???

回答

1

您可以通過~嘗試isin與反轉掩碼:

print df 
    id marks 
1 123  45 
2 124  67 
3 127  89 
4 257  10 
5 345  34 

delRows = [123,127] 

print df.id.isin(delRows) 
1  True 
2 False 
3  True 
4 False 
5 False 
Name: id, dtype: bool 

print ~df.id.isin(delRows) 
1 False 
2  True 
3 False 
4  True 
5  True 
Name: id, dtype: bool 

print df[~df.id.isin(delRows)] 
    id marks 
2 124  67 
4 257  10 
5 345  34