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

如何撤销对原始DataFrame的误修改 从备份恢复原始数据

恢复方法

你提前执行的df_copy = df.copy(deep = True)是完全独立的深拷贝副本,和后续被误改的df没有数据绑定,不会跟着inplace=True的操作变动,直接执行下面的命令就能把df恢复到备份时的状态:

# 恢复df,同时保留df_copy作为独立备份不被后续操作污染
df = df_copy.copy(deep=True)
补充说明
  • 你最开始写的Orig. Dataframe = df属于无效备份:Python对DataFrame这类可变对象的普通赋值只是创建对象引用,相当于给原df起了个别名,你对df做inplace修改时,这个别名指向的内容也会同步改动,完全起不到备份作用。
  • 带inplace=True的操作是直接修改DataFrame所在内存的原始数据,pandas本身没有内置操作回滚栈,操作执行后没法直接撤销,只能从提前保存的独立副本恢复。
  • 恢复时不推荐直接写df = df_copy:这种写法是把df直接绑定到df_copy的引用上,后续你对df做inplace修改时会直接改动备份df_copy的内容,相当于把唯一的备份也污染了,再出问题就没地方恢复了。
  • 后续做删列、批量改值这类高风险操作时,尽量少用inplace=True参数,优先用返回新对象的方式赋值给临时变量,调试出错只要不覆盖原始变量就不会丢失数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 11:31:08