删除带有pandas的索引列表

时间:2017-07-17 09:11:36

标签: pandas

我有一个字符串列表(pandas系列)和一个pandas数据框。如果列表中存在索引,我想删除数据框的索引(及其行)。如何在没有循环数据框的情况下在pandas中执行此操作,而不对列表中的每个元素使用.drop(' xxx')?

2 个答案:

答案 0 :(得分:4)

In [188]: df
Out[188]:
    a   b    c
aa  x  ww  0.5
bb  y  tt  0.7
cc  z  bb  0.9
dd  z  ww  0.6
ee  z  nn  0.1
ff  x  uu  0.3

In [189]: to_drop
Out[189]:
0    bb
1    dd
dtype: object

In [190]: df = df.drop(to_drop)

In [191]: df
Out[191]:
    a   b    c
aa  x  ww  0.5
cc  z  bb  0.9
ee  z  nn  0.1
ff  x  uu  0.3

或者我们可以使用query方法:

In [196]: df = df.query("index not in @to_drop")

In [197]: df
Out[197]:
    a   b    c
aa  x  ww  0.5
cc  z  bb  0.9
ee  z  nn  0.1
ff  x  uu  0.3

答案 1 :(得分:2)

尝试使用布尔值掩码:

df[~df.index.isin(s)]