筛选包含两个特定单词的行

时间:2020-09-24 00:04:15

标签: python pandas

我正在尝试过滤包含两个单词的所有行:momdad

Family
My mom is a teacher. 
My dad is a policeman.
Both my mom and dad are retired. 

我的预期输出是

Both my mom and dad are retired

,因为它包含两个词。 我已经尝试过str.contains()。只是想知道是否还有另一种方法。

s = df.Family
searchfor = ['mom', 'dad']
found = [s.str.contains(x) for x in searchfor]
result = pd.DataFrame[found]

1 个答案:

答案 0 :(得分:1)

使用正则表达式str.contains尝试(?=.*mom)(?=.*dad),它将匹配包含momdad的字符串(这是通过使用两个前瞻性断言{{1}完成的) },即断言字符串与?=.*mom都匹配):

.*dad

Demo Link