title: Pandas: cannot filter based on string equality
body: <p>Using pandas 0.16.2 on python 2.7, OSX.</p>
  
  <p>I read a data-frame from a csv file like this:</p>
  
  <pre><code>import pandas as pd
  
  data = pd.read_csv("my_csv_file.csv",sep='\t', skiprows=(0), header=(0))
  </code></pre>
  
  <p>The output of <code>data.dtypes</code> is:</p>
  
  <pre><code>name       object
  weight     float64
  ethnicity  object
  dtype: object
  </code></pre>
  
  <p>I was expecting string types for name, and ethnicity. But I found reasons here on SO on why they're "object" in newer pandas versions.</p>
  
  <p>Now, I want to select rows based on ethnicity, for example:</p>
  
  <pre><code>data[data['ethnicity']=='Asian']
  Out[3]: 
  Empty DataFrame
  Columns: [name, weight, ethnicity]
  Index: []
  </code></pre>
  
  <p>I get the same result with <code>data[data.ethnicity=='Asian']</code> or     <code>data[data['ethnicity']=="Asian"]</code>.</p>
  
  <p>But when I try the following:</p>
  
  <pre><code>data[data['ethnicity'].str.contains('Asian')].head(3)
  </code></pre>
  
  <p>I get the results I want.</p>
  
  <p>However, I do not want to use "contains"- I would like to check for direct equality.</p>
  
  <p>Please note that <code>data[data['ethnicity'].str=='Asian']</code> raises an error.</p>
  
  <p>Am I doing something wrong? How to do this correctly?</p>