python pandas.Series.str.contains包含空格的单词

Aer*_*rin 2 python regex dataframe pandas

我正在尝试在pandas数据帧中找到包含"internet","program","socket programming"的字符串.

df.col_name.str.contains(" internet | program | socket programming ", case=False)
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?或者我需要使用\和原始字符串来逃避空间吗?

Max*_*axU 5

这是一个小型演示:

In [250]: df
Out[250]:
                                      txt
0                                Internet
1  There is no Internet in this apartment
2                                Program2
3    I am learning socket programming too

In [251]: df.txt.str.contains(" internet | program | socket programming ", case=False)
Out[251]:
0    False
1     True
2    False
3     True
Name: txt, dtype: bool
Run Code Online (Sandbox Code Playgroud)

如果你想"匹配"第一行Internet::

In [252]: df.txt.str.contains(r"\b(?:internet|program|socket\s+programming)\b", case=False)
Out[252]:
0     True
1     True
2    False
3     True
Name: txt, dtype: bool
Run Code Online (Sandbox Code Playgroud)