对python pandas中 inplace 参数的理解

时间:2021-05-22

pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改

inplace = True:不创建新的对象,直接对原始对象进行修改;

​inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。

默认是False,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似。

例:

inplace=True情况:

import pandas as pdimport numpy as npdf=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"])data=df.drop(["A"],axis=1,inplace=True)print(df)print(data)>> B C0 0.472730 -0.6266851 0.065358 0.0313262 -0.318582 1.1233083 -0.097687 0.018820None

inplace=False情况:

df=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"])data=df.drop(["A"],axis=1,inplace=False)print(df)print(data)>> A B C0 -0.731578 0.226483 0.9866561 0.075936 1.622889 1.7679672 -1.477780 -0.164374 -1.0255553 -0.645208 -0.847264 -0.744622 B C0 0.226483 0.9866561 1.622889 1.7679672 -0.164374 -1.0255553 -0.847264 -0.744622

另外,要注意的是,inplace的取值只有False和True,如给定0或1,会报如下错误:

ValueError: For argument "inplace" expected type bool, received type int.

补充知识:pandas.DataFrame.drop_duplicates后面inplace=True与inplace=False的区别

drop_duplicates(inplace=True)是直接对原dataFrame进行操作。

如:

t.drop_duplicates(inplace=True) 则,对t中重复将被去除。

drop_duplicates(inplace=False)将不改变原来的dataFrame,而将结果生成在一个新的dataFrame中。

如:

s = t.drop_duplicates(inplace=False) 则,t的内容不发生改变,s的内容是去除重复后的内容

以上这篇对python pandas中 inplace 参数的理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章