局部变量在Python中意外更改

时间:2019-04-23 07:58:36

标签: python pandas function dataframe variables

我有一个熊猫数据框“ df”,在上面应用了几个功能。 我不想更改原始数据框的值。 我所有的功能如下:

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

 y = func(x=df)

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

1 个答案:

答案 0 :(得分:1)

发送数据框的深拷贝

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

默认情况下是深拷贝。