title: Case insensitive matching for pandas dataframe columns
body: <p>I have a dataframe and a row select function.</p>
  
  <pre><code>import pandas as pd
  df = pd.DataFrame({'A':[1,2,3],'B':[5,6,7]})
  def select_f(row):
      return row['a']
  </code></pre>
  
  <p>The question is I don't want to change the columns name(keep uppercase) and make the following function run</p>
  
  <pre><code>for _, row in df.iterrows:
      if select_f(row) &gt;2:
          print row['B']
  </code></pre>