title: Does the array returned by .values from pandas DataFrame have different precision?
body: <p>Computing std() of a pandas column I noticed that it differs from std(), computed from the numpy array, returned from the same column by .values method. Is there a difference in precision?</p>
  
  <pre><code>length = 5
  fill = np.random.randn(length)
  df2 = pd.DataFrame(index=range(length), columns = ["test"])
  df2.test = fill
  pandas = df2.iloc[:,0]
  array = df2.iloc[:,0].values
  print(f"pandas std: {pandas.std():0.6f}, numpy std: {array.std():0.6f}")
  print(f"Difference: {(pandas.std()/array.std()-1)*100:0.2f}%")
  
  </code></pre>
  
  <p>pandas std: 0.764161, numpy std: 0.683486
  Difference: 11.80%</p>
  
  <p>With few numbers (here 5) the difference is quite palpable. Say with only 2 numbers the difference grows to 40%. The numbers in pandas and resulted array differ also in term of precision, but I thought that this is simply because pandas just displays 6 digits, while keeping the whole decimal length ..</p>