python - 用另一个系列过滤 Pandas 数据框

标签 python python-2.7 pandas

我有 Pandas 系列,我们称之为 approved_fields,我想用它来过滤 df:

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

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

应用 approved_field 过滤器后,生成的 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/

相关文章:

python - 为什么[:1] and [0] do not generate the same result?

python - 如何替换数据框中的索引

python - 滚动时间序列数据集的高效构建

csv - Pandas to_csv : how to format floats in a column with mixed types

python - 在不同的整数类型中保存相同的值有什么区别吗?

python - Sqlite/SQLAlchemy : how to enforce Foreign Keys?

python - Tensorflow 中多元正态分布的 CDF

python - 如果内置函数的名称被另一个模块使用,如何使用它?

python - 奇怪的 If、Elif、Else 行为

python - 无法在 scipy 中创建非空 csr.matrix()