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

使用pandas/gspread时修改df2致原df改动的问题排查

问题原因及解决方法

核心原因

在Pandas中,df2 = df这种直接赋值操作并没有创建新的DataFrame副本,只是让变量df2和df指向了同一个内存中的DataFrame对象。所以对df2执行的所有修改操作,本质上都是在操作共享的那个原始DataFrame,自然会同步影响到df。

解决办法

要创建完全独立的DataFrame副本,使用Pandas的copy()方法:

df2 = df.copy()

执行这行代码后,df2会成为一个全新的、与原df完全独立的DataFrame,后续对df2的任何修改都不会影响原df的数据。

如果你的DataFrame包含嵌套的复杂数据结构(比如列表、字典),可以显式指定深度复制(这也是copy()的默认行为):

df2 = df.copy(deep=True)

不过针对你当前的字符串转数值场景,默认的浅复制已经足够满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:45:42