【问题标题】:the inplace parameter in pandas how it works?pandas 中的 inplace 参数是如何工作的?
【发布时间】:2021-12-03 12:42:03
【问题描述】:

在 pandas 中,inplace 参数对引用进行修改,但我知道在 python 中数据是按值而不是按引用发送的,我想知道这是如何实现或如何工作的

【问题讨论】:

    标签: python python-3.x pandas mutability call-by-value


    【解决方案1】:

    Python 的参数传递模型既不是“按值传递”也不是“按引用传递”,而是“按对象引用传递”

    当您将字典传递给函数并在函数内部修改该字典时,更改将反映在字典无处不在

    但是,这里我们要处理一些更不那么模棱两可的事情。当将inplace=True 传递给pandas 对象(无论是Series 还是DataFrame)的方法调用时,我们只是在说:更改当前对象而不是给我一个新对象。方法调用可以修改调用它们的实例的变量——这与语言是“按值调用”还是“按引用调用”无关。唯一会变得棘手的情况是,如果一种语言只有常量(想想val)而没有变量(想想var)——想想纯粹的函数式语言。然后,这是真的——你只能返回新对象,不能修改任何旧对象。但在实践中,即使是最纯粹的语言,您也可以找到就地更新记录的方法。

    【讨论】:

      猜你喜欢
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      • 2017-10-20
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多