【问题标题】:python pandas.Series.str.contains words with spacepython pandas.Series.str.包含带空格的单词
【发布时间】:2017-01-20 10:05:21
【问题描述】:

我正在尝试在 pandas 数据框中查找包含“internet”、“program”、“socket programming”的字符串。

df.col_name.str.contains(" internet | program | socket programming ", case=False)

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

【问题讨论】:

  • 它看起来对我来说是正确的......
  • 你试过了吗?
  • @ayhan 是的,我试过了,但不使用原始字符串转义键 () 仍然有效,所以我想验证一下。

标签: python regex pandas dataframe


【解决方案1】:

这是一个小演示:

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

如果你还想“匹配”第一行: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

【讨论】:

    猜你喜欢
    • 2019-06-24
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    相关资源
    最近更新 更多