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

Pandas如何正确复制DataFrame避免改动原始数据

问题原因

在pandas中,final_df = main_df 属于浅拷贝,仅给原始DataFrame对象绑定了新的变量名,两个变量指向内存中的同一个数据对象。因此对final_df做的所有修改,都会直接作用到main_df对应的内存数据上,最终出现两个DataFrame同步变更的情况。

解决方案

要生成完全独立的操作副本,你需要使用pandas提供的copy()方法执行深拷贝,代码修改如下:

final_df = main_df.copy()
final_df['new_column'] = final_df['b']*0.05

补充说明

  • pandas的copy()方法默认deep=True,普通数值型DataFrame场景下可以省略该参数。如果你的DataFrame包含列表、自定义对象等复合数据类型,建议显式指定deep=True,确保所有层级的数据都完成独立拷贝,避免出现关联修改的问题。
  • 不建议直接使用Python内置copy模块处理pandas对象,pandas原生copy()方法对DataFrame的结构做了专门优化,兼容性和执行效率都更优。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:09:02