我有 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)]
关于python - 使用列表中定义的多个条件过滤 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35585601/