我有Pandas系列,我们将其称为roved_fields,我想使用它通过以下方式过滤df:

approved_field(['Field1','Field2','Field3')]

df
    Field
0   Field1
1   Field4
2   Field2
3   Field5
4   Field2

应用核准的字段过滤器后,生成的df应该如下所示:
    Field
0   Field1
1   Field2
2   Field2

谢谢!

最佳答案

您可以使用isin和 bool 索引:

>>> import pandas as pd
>>> df = pd.DataFrame({"Field": "Field1 Field4 Field2 Field5 Field2".split()})
>>> approved_fields = "Field1", "Field2", "Field3"
>>> df['Field'].isin(approved_fields)
0     True
1    False
2     True
3    False
4     True
Name: Field, dtype: bool
>>> df[df['Field'].isin(approved_fields)]
    Field
0  Field1
2  Field2
4  Field2

关于python - 使用其他系列过滤 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17046823/

10-13 03:06