Pandas DataFrame,与字典一致,均是可变对象,当将一个 DataFrame 赋值给另一个变量时,它们实际上是指向同一个 DataFrame 对象的引用。因此,如果你修改其中一个变量所指向的 DataFrame,另一个变量也会反映出这些修改,因为它们指向同一个对象。
让我们来看一个示例:
import pandas as pd
# 创建一个DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 将DataFrame赋值给另一个变量
df2 = df
# 修改其中一个DataFrame的值
df2['A'][0] = 100
print(df)
print(df2)
输出打印
A B
0 100 4
1 2 5
2 3 6
A B
0 100 4
1 2 5
2 3 6
正如你所见,修改 df2
后,df
也会随之修改,因为它们引用同一个 DataFrame 对象。如果你想要避免这种行为,你可以使用 .copy()
方法来创建 DataFrame 的副本,这样修改一个 DataFrame 就不会影响另一个。以上内容为AI生成,问题是自己的。