浅拷贝-将df赋值给df1
赋值 表示 浅拷贝
df1 随着df的变化而变化
df1 = df
df1 = df.copy(deep = False)
深拷贝- 重新开辟内存空间存放df2的数据 所指向数据的地址不一样
pandas.DataFrame.copy(deep=True) # copy()函数 默认 深拷贝
df2 与df独立
df2 = df.copy()
df2 = df.copy(deep = True)
总结
浅拷贝 赋值 随着变化而变化
深拷贝 独立 deep = True
参考文献
https://blog.csdn.net/cxj540947672/article/details/107539572
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.copy.html?highlight=copy
df.round()是深拷贝
df = pd.DataFrame([1.1])
df1 = df
df2 = df.round(0)
df.iloc[0,0] = 2.1
print(df1) # 浅拷贝
print(df2) # 深拷贝
print(id(df) == id(df1))
print(id(df) == id(df2))