淺談對python pandas中 inplace 引數的理解

大雄45發表於2020-07-07
這篇文章主要介紹了對python pandas中 inplace 引數的理解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

pandas 中 inplace 引數在很多函式中都會有,它的作用是:是否在原物件基礎上進行修改

inplace = True:不建立新的物件,直接對原始物件進行修改;

inplace = False:對資料進行修改,建立並返回新的物件承載其修改結果。

預設是False,即建立新的物件進行修改,原物件不變,和深複製和淺複製有些類似。

例:

inplace=True情況:
import pandas as pd
import numpy as np
df=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"])
data=df.drop(["A"],axis=1,inplace=True)
print(df)
print(data)
 
>> 
     B     C
0 0.472730 -0.626685
1 0.065358 0.031326
2 -0.318582 1.123308
3 -0.097687 0.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)
 
>>
     A     B     C
0 -0.731578 0.226483 0.986656
1 0.075936 1.622889 1.767967
2 -1.477780 -0.164374 -1.025555
3 -0.645208 -0.847264 -0.744622
     B     C
0 0.226483 0.986656
1 1.622889 1.767967
2 -0.164374 -1.025555
3 -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 引數的理解就是小編分享給大家的全部內容了,希望能給大家一個參考。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2703073/,如需轉載,請註明出處,否則將追究法律責任。

相關文章