title: What is the difference between using loc and using just square brackets to filter for columns in Pandas/Python?
body: <p>I've noticed three methods of selecting a column in a Pandas DataFrame:</p>
  
  <p><strong>First method of selecting a column using loc:</strong></p>
  
  <pre><code>df_new = df.loc[:, 'col1']
  </code></pre>
  
  <p><strong>Second method - seems simpler and faster:</strong></p>
  
  <pre><code>df_new = df['col1']
  </code></pre>
  
  <p><strong>Third method - most convenient:</strong></p>
  
  <pre><code>df_new = df.col1
  </code></pre>
  
  <p>Is there a difference between these three methods? I don't think so, in which case I'd rather use the third method.</p>
  
  <p>I'm mostly curious as to why there appear to be three methods for doing the same thing.</p>