2017-07-17 145 views
0

我有一個字符串(熊貓系列)和熊貓數據框的列表。如果索引存在於列表中,我想刪除數據框的索引(及其行)。我如何在熊貓中做到這一點,而無需循環遍歷數據框,也不需要爲列表中的每個元素使用.drop('xxx')?用大熊貓刪除索引列表

回答

2

嘗試布爾面膜:

df[~df.index.isin(s)] 
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