Skip to main content
 首页 » 编程设计

python之使用列表中定义的多个条件过滤 Pandas 数据框

2025年05月04日9虾米姐

我有 pandas DataFrame,我想根据多个条件对其进行过滤。条件作为可变长度的列表传入。

下面是过滤 DataFrame 的基本代码:

>>>> conditions = ["a","b"]     
>>>> df1 = pd.DataFrame(["a","a","b","b","c"]) 
>>>> df1 
   0 
0  a 
1  a 
2  b 
3  b 
4  c 
>>>> df2 = df1[(df1[0] == conditions[0]) | (df1[0] == conditions[1])] 
>>>> df2 
   0 
0  a 
1  a 
2  b 
3  b 

如果我不知道传入的条件数量,是否有一种简单的方法来检查所有条件?

谢谢

请您参考如下方法:

您可以使用 DataFrame.isin() .

df2 = df1[df1[0].isin(conditions)]