pattern match multiple keys pandas

在 Pandas 中,如果您想要使用多个关键字进行模式匹配,可以使用 Pandas 的 .str.contains() 方法。下面是一个使用 .str.contains() 方法在 Pandas 中进行多个关键字的模式匹配的示例代码:

import pandas as pd
# 创建一个包含字符串的 DataFrame
df = pd.DataFrame({'col1': ['apple', 'banana', 'pear', 'orange'],
                   'col2': ['red', 'yellow', 'green', 'orange'],
                   'col3': ['sweet', 'sour', 'bitter', 'sweet and sour']})
# 定义关键字列表
keywords = ['apple', 'orange']
# 使用 .str.contains() 方法进行模式匹配
matches = df[df['col1'].str.contains('|'.join(keywords)) |
             df['col2'].str.contains('|'.join(keywords)) |
             df['col3'].str.contains('|'.join(keywords))]
# 打印匹配结果
print(matches)

在上面的示例代码中,我们创建了一个包含字符串的 DataFrame,并定义了一个包含多个关键字的列表 keywords。然后,我们使用 .str.contains() 方法对 DataFrame 的每个列进行模式匹配,并将匹配结果存储在 matches 变量中。最后,我们打印了匹配结果。

在这个示例中,我们使用了 | 运算符将关键字列表中的关键字连接起来,形成一个正则表达式模式。这样,我们就可以将模式应用到 DataFrame 的每个列中,找到与任意一个关键字匹配的行。

  •