title: pandas string contains lookup: NaN leads to Value Error
body: <p>If you would like to filter those rows for which a string is in a column value, it is possible to use something like <code>data.sample_id.str.contains('hph')</code> (answered before: <a href="https://stackoverflow.com/questions/17972938/check-if-string-in-pandas-dataframe-column-is-in-list">check if string in pandas dataframe column is in list</a>, or <a href="https://stackoverflow.com/questions/30944577/check-if-string-is-in-a-pandas-dataframe">Check if string is in a pandas dataframe</a>).</p>
  
  <p>However, my lookup column contains emtpy cells. Terefore, <code>str.contains()</code> yields <code>NaN</code> values and I get an value error upon indexing. </p>
  
  <pre><code>`ValueError: cannot index with vector containing NA / NaN values``
  </code></pre>
  
  <p>What works:</p>
  
  <pre><code># get all runs 
  mask = [index for index, item in enumerate(data.sample_id.values) if 'zent' in str(item)]
  </code></pre>
  
  <p>Is there a more elegant and faster method (similar to <code>str.contains()</code>) than this one ?</p>