pandas 中的 inplace 参数如何工作?
the inplace parameter in pandas how it works?
in pandas inplace 参数对引用进行修改,但我知道 python 中的数据是按值发送的,而不是按引用发送的,我想知道这是如何实施的或如何工作的
Python’s argument passing model is neither “Pass by Value” nor “Pass by Reference” but it is “Pass by Object Reference”
当您将字典传递给函数并在函数内部修改该字典时,所做的更改将反映在字典的所有位置。
然而,这里我们要处理的事情更加明确。将 inplace=True
传递给 pandas
对象(无论是 Series
还是 DataFrame
)的方法调用时,我们只是在说:改变当前对象而不是获取我一个新的。方法调用可以修改调用它们的实例的变量——这与语言是“按值调用”还是“按引用调用”无关。唯一会变得棘手的情况是,如果一种语言只有常量(想想 val
)而没有变量(想想 var
)——想想纯函数式语言。那么,这是真的 - 你只能 return 新对象而不能修改任何旧对象。但实际上,即使使用最纯粹的语言,您也可以找到就地更新记录的方法。
in pandas inplace 参数对引用进行修改,但我知道 python 中的数据是按值发送的,而不是按引用发送的,我想知道这是如何实施的或如何工作的
Python’s argument passing model is neither “Pass by Value” nor “Pass by Reference” but it is “Pass by Object Reference”
当您将字典传递给函数并在函数内部修改该字典时,所做的更改将反映在字典的所有位置。
然而,这里我们要处理的事情更加明确。将 inplace=True
传递给 pandas
对象(无论是 Series
还是 DataFrame
)的方法调用时,我们只是在说:改变当前对象而不是获取我一个新的。方法调用可以修改调用它们的实例的变量——这与语言是“按值调用”还是“按引用调用”无关。唯一会变得棘手的情况是,如果一种语言只有常量(想想 val
)而没有变量(想想 var
)——想想纯函数式语言。那么,这是真的 - 你只能 return 新对象而不能修改任何旧对象。但实际上,即使使用最纯粹的语言,您也可以找到就地更新记录的方法。