title: Pandas dataframe without copy
body: <p>How can I avoid taking a copy of the dictionary supplied when creating a Pandas DataFrame?</p>
  
  <pre><code>&gt;&gt;&gt; a = np.arange(10)
  &gt;&gt;&gt; b = np.arange(10.0)
  &gt;&gt;&gt; df1 = pd.DataFrame(a)
  &gt;&gt;&gt; a[0] = 100
  &gt;&gt;&gt; df1
       0
  0  100
  1    1
  2    2
  3    3
  4    4
  5    5
  6    6
  7    7
  8    8
  9    9
  &gt;&gt;&gt; d = {'a':a, 'b':b}
  &gt;&gt;&gt; df2 = pd.DataFrame(d)
  &gt;&gt;&gt; a[1] = 200
  &gt;&gt;&gt; d
  {'a': array([100, 200,   2,   3,   4,   5,   6,   7,   8,   9]), 'b': array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.])}
  &gt;&gt;&gt; df2
       a  b
  0  100  0
  1    1  1
  2    2  2
  3    3  3
  4    4  4
  5    5  5
  6    6  6
  7    7  7
  8    8  8
  9    9  9
  </code></pre>
  
  <p>If I create the dataframe from just a then changes to a are reflected in df (and vice versa).</p>
  
  <p>Is there any way of making this work when supplying a dictionary?</p>