首页 > 解决方案 > 局部变量在 Python 中被无意更改

问题描述

我有一个 pandas 数据框“df”,我在其上应用了几个函数。我不想更改原始数据框的值。我所有的功能都是这样的:

def func(x):
# do some stuff with x
return x

 y = func(x=df)

我没有在函数中引用 df 变量。但是变量无论如何都会改变。有人可以向我解释为什么会这样以及如何避免吗?

标签: pythonpandasfunctiondataframevariables

解决方案


发送数据帧的深拷贝

y = func(x=df.copy())

默认情况下是 deepcopy。


推荐阅读