简体   繁体   中英

Remove Rows that Contain a specific Value anywhere in the row (Pandas, Python 3)

I am trying to remove all rows in a Panda dataset that contain the symbol "+" anywhere in the row. So ideally this:

  Keyword   
  +John
  Mary+Jim
  David

would become

  Keyword
  David

I've tried doing something like this in my code but it doesn't seem to be working.

excluded = ('+')
removal2 = removal[~removal['Keyword'].isin(excluded)]

The problem is that sometimes the + is contained within a word, at the beginning of a word, or at the end. Any ideas how to help? Do I need to use an index function? Thank you!

Use the vectorised str method contains and pass the '+' identifier, negate the boolean condition by using ~ :

In [29]:

df[~df.Keyword.str.contains('\+')]
Out[29]:
  Keyword
2   David

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM