撤消使用 Pandas 执行的更改

Posted

技术标签:

【中文标题】撤消使用 Pandas 执行的更改【英文标题】:Undo a change that was performed using Pandas 【发布时间】:2018-11-28 14:41:03 【问题描述】:

我想知道是否有一种技术可以简单地撤消使用 Pandas 所做的更改。

例如,我对几千行 Pandas Dataframe 进行了字符串替换,其中字符串中每次出现的“&”都被替换为“and”。但是在执行替换之后,我发现我在更改中犯了一个错误,并且希望在字符串替换完成之前恢复到 Dataframe 的最新形式。

有没有办法做到这一点?

【问题讨论】:

简短回答:不。您需要像更改之前一样再次构建您的 DF。 PS如果您确定更改之前的文本中没有单个子字符串“and”,那么您可以将其替换回来... 主要方法有一个就地参数。如果你设置 inplace=True,你保存 df 和你的修改。如果您设置 inplace=False,则不保存 df,您可以打印您的修改。它有助于调试:) 大声笑.. CTRL + Z 是我唯一能想到的。 【参考方案1】:

是的,有办法做到这一点。如果您使用的是最新版本的 python 和 pandas,您可以这样做:

df.replace(to_replace='and', value='&', inplace=true)

我就是这样学的!

【讨论】:

这是行不通的,因为它将替换单词“and”的所有实例,无论它们最初是否为“&”。【参考方案2】:

如果您的单元格是按步构建的,而混乱是因为运行了几个影响数据集的单元格,您可以停止内核并从头开始运行所有单元格。

【讨论】:

以上是关于撤消使用 Pandas 执行的更改的主要内容,如果未能解决你的问题,请参考以下文章

在不向撤消堆栈添加撤消命令的情况下更改 QTextEdit

如何撤消 TFS 中的回滚?

如何撤消放弃 GitHub Desktop 中的更改?

我们可以撤消 Mercurial 中的推送更改吗?

如何撤消两次提交之间的更改?

核心数据保存更改撤消