title: How to use str.contains() with multiple expressions, in pandas dataframes?
body: <p>I'm wondering if there is a more efficient way to use the str.contains() function in Pandas, to search for two partial strings at once. I want to search a given column in a dataframe for data that contains either "nt" or "nv". Right now, my code looks like this:</p>
  
  <pre><code>    df[df['Behavior'].str.contains("nt", na=False)]
      df[df['Behavior'].str.contains("nv", na=False)]
  </code></pre>
  
  <p>And then I append one result to another. What I'd like to do is use a single line of code to search for any data that includes "nt" OR "nv" OR "nf." I've played around with some ways that I thought should work, including just sticking a pipe between terms, but all of these result in errors. I've checked the documentation, but I don't see this as an option. I get errors like this: </p>
  
  <pre><code>    ---------------------------------------------------------------------------
      TypeError                                 Traceback (most recent call last)
      &lt;ipython-input-113-1d11e906812c&gt; in &lt;module&gt;()
      3 
      4 
      ----&gt; 5 soctol = f_recs[f_recs['Behavior'].str.contains("nt"|"nv", na=False)]
      6 soctol
  
      TypeError: unsupported operand type(s) for |: 'str' and 'str'
  </code></pre>
  
  <p>Is there a fast way to do this? Thanks for any help, I am a beginner but am LOVING pandas for data wrangling.</p>