擅长:python、mysql、java
<p>执行<code>Table1=FamilyVsWWTotal</code>会导致浅拷贝。这两个变量链接到内存中的同一个DataFrame对象</p>
<p>您可以通过以下方式进行检查:</p>
<pre><code>print(id(Table1))
print(id(FamilyVsWWTotal))
</code></pre>
<p/><hr/>
如果需要两个单独的数据帧,在其中可以进行单独的计算,则必须执行深度复制,如下所示:
<pre><code>Table1 = FamilyVsWWTotal.copy(deep=True)
</code></pre>
<p>由于<code>deep=True</code>是<code>copy()</code>的默认值,您只需</p>
<pre><code>Table1 = FamilyVsWWTotal.copy()
</code></pre>
<p>同样地</p>
<pre><code>Table2 = FamilyVsWWTotal.copy(deep=True)
</code></pre>
<p/><hr/>
因此,您的代码应该如下所示:
<pre><code>FamilyVsWWTotal = pd.DataFrame({'date':['2011-4-3','2011-3-5','2011-4-3','2011-5-7'], 'Country':['USA','CAN','USA','MEX']})
Table1=FamilyVsWWTotal.copy()
Table1['Region']='K'
Table2=FamilyVsWWTotal.copy()
Table2['aveAge']=60
</code></pre>