理解Pandas中inplace參數

從 YTYZX有图有真相的百科
跳到: 導覽搜尋

在pandas 中 ,inplace 參數在很多函數中都會有,它的作用是:是否在原對象基礎上進行修改 ​ inplace = True:不創建新的對象,直接對原始對象進行修改;

​ inplace = False:對數據進行修改,創建並返回新的對象承載其修改結果。

默認是False,即創建新的對象進行修改,原對象不變,和深複製和淺複製有些類似。

下面我們還是一樣舉個例子來看看:

import pandas as pd import numpy as np import random df=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"]) df_1=df.drop(["A"],axis=1,inplace=True) print(df) print("df_1:",df_1) 運行結果:


可以看到,此時df_1為None。

下面我們嘗試一下將inplace=True改成inplace=False,保持其他不變。

import pandas as pd import numpy as np import random df=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"]) df_1=df.drop(["A"],axis=1,inplace=False) print(df) print("df_1:",df_1)

可以看到,此時df_1的值與之前發現了變化。

注意~

inplace的取值只有False和True,如給定其他值的話(比如0和1之類的),會以下報錯:

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