如何根据单独列表中的索引值过滤数据框?

Ale*_*lan 3 python pandas

我有一个如下所示的列表 (list1):

  ['loc1','loc3','loc6'.....]
Run Code Online (Sandbox Code Playgroud)

我还有一个如下所示的数据框 (df1):

        Values    Proportion
loc1    200          10
loc2    50           20
loc3    100          30
loc4    60           45
loc5    70           12
loc6    80           11
loc7    10           10
.... 
Run Code Online (Sandbox Code Playgroud)

我想删除数据框中我的索引与列表中的值匹配的行。结果输出文件:

        Values    Proportion
loc2    50           20
loc4    60           45
loc5    70           12
loc7    10           10
.... 
Run Code Online (Sandbox Code Playgroud)

我的解决方案是(但不起作用)。

reduced_file = set(df1.index) - list1
Run Code Online (Sandbox Code Playgroud)

zip*_*ipa 5

像这样尝试:

df.loc[~df.index.isin(list1)]
Run Code Online (Sandbox Code Playgroud)

  • @MihaiAlexandru-Ionut 我指的是过滤部分,但如果赋值很重要,我猜它会是`reduced_file = df.loc[~df.index.isin(list1)]` (2认同)