title: In pandas, can I deeply copy a DataFrame including its index and column?
body: <p>First, I create a DataFrame</p>
  
  <pre><code>In [61]: import pandas as pd
  In [62]: df = pd.DataFrame([[1], [2], [3]])
  </code></pre>
  
  <p>Then, I deeply copy it by <code>copy</code></p>
  
  <pre><code>In [63]: df2 = df.copy(deep=True)
  </code></pre>
  
  <p>Now the <code>DataFrame</code> are different.</p>
  
  <pre><code>In [64]: id(df), id(df2)
  Out[64]: (4385185040, 4385183312)
  </code></pre>
  
  <p>However, the <code>index</code> are still the same.</p>
  
  <pre><code>In [65]: id(df.index), id(df2.index)
  Out[65]: (4385175264, 4385175264)
  </code></pre>
  
  <p>Same thing happen in columns, is there any way that I can easily deeply copy it not only values but also index and columns?</p>