代码之家  ›  专栏  ›  技术社区  ›  PineNuts0

Python:熊猫数据框使用通配符在列中查找字符串并保留行

  •  5
  • PineNuts0  · 技术社区  · 7 年前

    我有一个熊猫数据框。下面是一个示例表。

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

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

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

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

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

    我得到的错误如下:

    error: nothing to repeat at position 0
    
    2 回复  |  直到 7 年前
        1
  •  4
  •   MaxU - stand with Ukraine    7 年前

    Series.str.contains(pat, case=True, flags=0, na=nan, regex=True) 按默认处理 pat 作为正则表达式。

    问号( ? )使 之前的 正则表达式中的标记是可选的,因此会显示错误消息。

    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
    
        2
  •  1
  •   Amir F    6 年前

    您也可以尝试 match 方法:

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