title: After rename column get keyerror
body: <p>I have <code>df</code>:</p>
  
  <pre><code>df = pd.DataFrame({'a':[7,8,9],
                     'b':[1,3,5],
                     'c':[5,3,6]})
  
  print (df)
     a  b  c
  0  7  1  5
  1  8  3  3
  2  9  5  6
  </code></pre>
  
  <p>Then rename first value by <a href="https://stackoverflow.com/a/36149967/2901002">this</a>:</p>
  
  <pre><code>df.columns.values[0] = 'f'
  </code></pre>
  
  <p>All seems very nice:</p>
  
  <pre><code>print (df)
     f  b  c
  0  7  1  5
  1  8  3  3
  2  9  5  6
  
  print (df.columns)
  Index(['f', 'b', 'c'], dtype='object')
  
  print (df.columns.values)
  ['f' 'b' 'c']
  </code></pre>
  
  <p>If select <code>b</code> it works nice:</p>
  
  <pre><code>print (df['b'])
  0    1
  1    3
  2    5
  Name: b, dtype: int64
  </code></pre>
  
  <p>But if select <code>a</code> it return column <code>f</code>:</p>
  
  <pre><code>print (df['a'])
  0    7
  1    8
  2    9
  Name: f, dtype: int64
  </code></pre>
  
  <p>And if select <code>f</code> get keyerror.</p>
  
  <pre><code>print (df['f'])
  #KeyError: 'f'
  
  print (df.info())
  #KeyError: 'f'
  </code></pre>
  
  <p>What is problem? Can somebody explain it? Or bug?</p>