Python: Pandas Dataframe 使用通配符在列中查找字符串并保留行

Python: Pandas Dataframe Using Wildcard to Find String in Column and Keep Row

我有一个 pandas 数据框。下面是一个示例 table。

Event   Text
A       something/AWAIT hello          
B       la de la
C       AWAITING SHIP
D       yes NO AWAIT 

我只想在文本列中保留包含某种形式的单词 AWAIT 的行。下面是我想要的 table:

Event   Text
A       something/AWAIT hello          
C       AWAITING SHIP
D       yes NO AWAIT 

下面是我试图在所有可能的情况下捕获包含 AWAIT 的字符串的代码。

df_STH001_2 = df_STH001[df_STH001['Text'].str.contains("?AWAIT?") == True]

我得到的错误如下:

error: nothing to repeat at position 0

Series.str.contains(pat, case=True, flags=0, na=nan, regex=True) 默认情况下将 pat 视为正则表达式。

问号 (?) 使正则表达式中的 preceding 标记成为可选标记,因此出现错误消息。

In [178]: d[d['Text'].str.contains('AWAIT')]
Out[178]:
  Event                   Text
0     A  something/AWAIT hello
2     C          AWAITING SHIP
3     D           yes NO AWAIT

您也可以试试match方法:

df[df.column.str.match('some_string')]