Python drop方法刪除列之inplace引數例項
阿新 • • 發佈:2020-06-28
drop方法有一個可選引數inplace,表明可對原陣列作出修改並返回一個新陣列。不管引數預設為False還是設定為True,原陣列的記憶體值是不會改變的,區別在於原陣列的內容是否直接被修改。預設為False,表明原陣列內容並不改變,如果我們需要得到改變後的內容,需要將新結果賦給一個新的陣列,即data = data.drop(['test','test2'],1)。
如果將inplace值設定為True,則原陣列內容直接被改變。
測試程式如下
#增加兩列空值 import numpy as np data["test"] = np.nan data["test2"] = np.nan name gender age test2 test 0 jerry M 36 NaN NaN 1 emma F 23 NaN NaN 2 tony M 34 NaN NaN 4 bob M 20 NaN NaN #檢視此時data的記憶體地址 id(data) 128971088 #刪除這兩列,inplace預設為False id(data.drop(['test',1)) 128971888 #檢視data,發現數據並未改變 data name gender age test test2 0 jerry M 36 NaN NaN 1 emma F 23 NaN NaN 2 tony M 34 NaN NaN 4 bob M 20 NaN NaN #檢視data的ID id(data) 128971088 #刪除這兩列,inplace設定為False id(data.drop(['test',1,inplace = True)) 1545984728 #檢視data,資料已經改變 data name gender age test test2 0 jerry M 36 NaN NaN 1 emma F 23 NaN NaN 2 tony M 34 NaN NaN 4 bob M 20 NaN NaN #檢視data的ID id(data) 128971088
補充知識:python 使用del和drop方法刪除DataFrame的列,使用drop方法一次刪除多列
使用del和drop方法刪除DataFrame中的列,使用drop方法一次刪除多列
# 使用del,一次只能刪除一列,不能一次刪除多列 # 只能使用 del df['密度'],不能使用 del df[['密度','含糖率']] del df['密度'] # del df[['密度','含糖率']] 報錯 # 使用drop,有三種方法: dt = dt.drop(['密度','含糖率'],axis=1) # axis=1 表示刪除列,['密度','含糖率'] 要刪除的col的列表,可一次刪除多列 dt.drop(['密度',axis=1,inplace=True) # inplace=True,直接從內部刪除 dt.drop(dt.columns[[0,4,8]],inplace=True) # dt.columns[[0,8]] 直接使用索引查詢列
以上這篇Python drop方法刪除列之inplace引數例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。