Python 如何按字符串列表筛选列?

Python 如何按字符串列表筛选列?,python,pandas,list,Python,Pandas,List,过滤熊猫的标准代码如下: output = df['Column'].str.contains('string') strings = ['string 1', 'string 2', 'string 3'] 不过,我不想使用“string”,而是希望进行过滤,使其遍历列表中的字符串集合strings。所以我尝试了一些东西,比如 output = df['Column'].str.contains('*strings') 这是我能找到的最接近的解决方案,但不起作用 编辑:我应该注意,我知道

过滤熊猫的标准代码如下:

output = df['Column'].str.contains('string')
strings = ['string 1', 'string 2', 'string 3']
不过,我不想使用“string”,而是希望进行过滤,使其遍历列表中的字符串集合strings。所以我尝试了一些东西,比如

output = df['Column'].str.contains('*strings')
这是我能找到的最接近的解决方案,但不起作用


编辑:我应该注意,我知道|或运算符。但是,我想知道如何处理实例列表中的所有情况字符串正在改变,我正在循环使用不同长度的列表作为最终目标。

您可以创建一个正则表达式字符串并使用该字符串进行搜索

像这样:
df['Column'].str.contains'|'.joinstrings,regex=True

您可以创建一个regex字符串并使用该字符串进行搜索

像这样:
df['Column'].str.contains'|'.joinstrings,regex=True

您可能应该考虑使用isin函数

检查以下代码:

数据帧{'Column':['string1','string1','string2','string2','string3','string4','string5']} strings=['string1','string2','string3'] 输出=df.Column.isinstrings df[输出] 输出:

        Column
    0   string 1
    1   string 1
    2   string 2
    3   string 2
    4   string 3

您可能应该考虑使用isin函数

检查以下代码:

数据帧{'Column':['string1','string1','string2','string2','string3','string4','string5']} strings=['string1','string2','string3'] 输出=df.Column.isinstrings df[输出] 输出:

        Column
    0   string 1
    1   string 1
    2   string 2
    3   string 2
    4   string 3

您想让它包含字符串中的任何或所有字符串吗?请随意,但如果您不介意同时提供以下两个参数,那就很高兴知道所有参数:regstr='|'.joinstrings和df['Column'].str.containsRegstr您想让它包含字符串中的任何或所有字符串吗?请随意,但是,如果您不介意提供两种类型的regstr='|'.joinstrings和df['Column'].str.containsRegstr,那么无论如何都很高兴知道这一点。这似乎是可行的。谢谢我还找到了df['Column'].isinstrings。结果似乎是相同的,但与您提供的代码有什么根本性的区别吗?isin将在列表中查找精确的匹配项。contains将搜索一个文本,其中包含您在列表中传递的字符串,并使用正则表达式进行查找。例如:pd.Series['string1foo'].IsInstallings将返回False。pd.Series['string 1 foo'].str.contains'|'。joinstrings,regex=True将返回True这似乎有效。谢谢我还找到了df['Column'].isinstrings。结果似乎是相同的,但与您提供的代码有什么根本性的区别吗?isin将在列表中查找精确的匹配项。contains将搜索一个文本,其中包含您在列表中传递的字符串,并使用正则表达式进行查找。例如:pd.Series['string1foo'].IsInstallings将返回False。pd.Series['string 1 foo'].str.contains'|'。JoinString,regex=True将返回TrueAttributeError:'DataFrame'对象没有属性'Column'AttributeError:'DataFrame'对象没有属性'Column'