You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用df.loc修改DataFrame时赋值所得副本同步更新,该现象是否正常?

Pandas赋值同步修改问题解答

结论

该现象属于Pandas的正常运行表现。

原因说明

  • Python的普通赋值语句不会生成新对象,只是为现有内存对象绑定额外的变量名,你执行copy_df = name_df时,本质是给name_df指向的DataFrame对象新增了一个别名,两个变量指向同一块内存地址的同一个对象。
  • 因此不管修改name_df还是copy_df,本质都是修改同一个内存里的数据,两个变量访问时都会同步显示修改结果。

正确创建独立副本的方案

如果需要生成和原DataFrame完全独立、修改互不影响的副本,需要调用Pandas提供的copy()方法:

# 深拷贝,生成完全独立的新DataFrame
copy_df = name_df.copy()

copy()默认执行深拷贝,会把原DataFrame的所有数据完整复制到新的内存空间,后续对原DataFrame的任何修改都不会同步到新生成的副本上。


内容的提问来源于stack exchange,提问作者jgoh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:15:04