对python pandas中 inplace 参数的理解
pandas中inplace参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改
inplace=True:不创建新的对象,直接对原始对象进行修改;
inplace=False:对数据进行修改,创建并返回新的对象承载其修改结果。
默认是False,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似。
例:
inplace=True情况:
importpandasaspd importnumpyasnp df=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"]) data=df.drop(["A"],axis=1,inplace=True) print(df) print(data) >> BC 00.472730-0.626685 10.0653580.031326 2-0.3185821.123308 3-0.0976870.018820 None
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) >> ABC 0-0.7315780.2264830.986656 10.0759361.6228891.767967 2-1.477780-0.164374-1.025555 3-0.645208-0.847264-0.744622 BC 00.2264830.986656 11.6228891.767967 2-0.164374-1.025555 3-0.847264-0.744622
另外,要注意的是,inplace的取值只有False和True,如给定0或1,会报如下错误:
ValueError:Forargument"inplace"expectedtypebool,receivedtypeint.
补充知识: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的内容是去除重复后的内容
以上这篇对pythonpandas中inplace参数的理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。