为了账号安全,请及时绑定邮箱和手机立即绑定

Python Pandas-了解inplace = True

Python Pandas-了解inplace = True

慕虎7371278 2019-10-18 09:55:30
在pandas库中多次出现的是改变物体就地如用下面的语句一个选项...df.dropna(axis='index', how='all', inplace=True)我很好奇返回的内容以及何时inplace=True传递对象与何时传递对象inplace=False。所有操作self何时都在修改inplace=True?何时inplace=False立即创建一个新对象,例如new_df = self然后new_df返回?
查看完整描述

3 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

如果inplace=True通过,该数据被重命名到位(它没有返回值),所以你会使用:


df.an_operation(inplace=True)

当inplace=False传递(这是默认值,所以没有必要),执行操作,并返回该对象的副本,所以你会使用:


df = df.an_operation(inplace=False) 

所以:


if inplace == False:

    Assign your result to a new variable

else

    No need to assign


查看完整回答
反对 回复 2019-10-18
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

我使用它的方式是


# Have to assign back to dataframe (because it is a new copy)

df = df.some_operation(inplace=False) 

要么


# No need to assign back to dataframe (because it is on the same copy)

df.some_operation(inplace=True)

结论:


 if inplace is False

      Assign to a new variable;

 else

      No need to assign


查看完整回答
反对 回复 2019-10-18
?
烙印99

TA贡献1829条经验 获得超13个赞

我通常与numpy一起使用。


如果您不想将更新的数据保存到同一变量,则使用inplace = True


data["column1"].where(data["column1"]< 5, inplace=True)

这和...一样


data["column1"] = data["column1"].where(data["column1"]< 5)


查看完整回答
反对 回复 2019-10-18
  • 3 回答
  • 0 关注
  • 2374 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信