歡迎您光臨本站 註冊首頁

對python pandas中 inplace 參數的理解

←手機掃碼閱讀     qp18502452 @ 2020-06-28 , reply:0

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的內容是去除重複後的內容


   


[qp18502452 ] 對python pandas中 inplace 參數的理解已經有430次圍觀

http://coctec.com/docs/python/shhow-post-240052.html