繁体   English   中英

Python:将 Dataframe 分配给第二个变量,改变第二个 DataFrame 改变第一个

[英]Python: assigment of Dataframe to second variable, altering of the second DataFrame alters the first

我不知道这是怎么回事,也许你可以帮助我。 我将 DataFrame 分配给第二个变量,然后重新调整第二个 DataFrame,以便每一列都有均值 0 和方差 1。之后,第一个 ZC699575A5E8AFD9E22A7ECC8CAB1A1 以相同的方式更改这是怎么回事,我试着做同样的赋值,然后把第二个变量设为0,看看是不是问题。 这两个变量都指向相同的数据。 但这不会改变第一个 DataFrame:这是我的代码:

import numpy as np
import pandas as pd

firstDF = pd.DataFrame([[1,2],[3,4]])
firstDF.columns = ['firstColumn', 'secondColumn']

secondDF=firstDF

print(firstDF)
print(secondDF)
for i in secondDF.columns:
    secondDF[i]=(secondDF[i]-np.mean(secondDF[i]))/np.std(secondDF[i])
print(firstDF)
print(secondDF)

output 是:

   firstColumn  secondColumn
0            1             2
1            3             4
   firstColumn  secondColumn
0            1             2
1            3             4
   firstColumn  secondColumn
0         -1.0          -1.0
1          1.0           1.0
   firstColumn  secondColumn
0         -1.0          -1.0
1          1.0           1.0

我对编码的整个理解都在崩溃! 请帮忙!

做这个:

secondDF=firstDF.copy()

这将创建您的firstDF的副本。 firstDF将保持不变。

我建议你这样做:

firstDF=pd.DataFrame([[1,2],[3,4]])
secondDF=firstDF.copy()

这将按照 Mayank 的建议创建一个副本。 但我不确定你想做什么。 是否要创建副本? 您能否提供更多说明?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM