删除pandas数据帧中的行

时间:2016-02-10 13:19:03

标签: python pandas

我想删除pandas DataFrame中的一些行。

    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 个答案:

答案 0 :(得分: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