簡單介紹Python drop方法刪除列之inplace引數例項

安全劍客發表於2020-07-08
這篇文章主要介紹了Python drop方法刪除列之inplace引數例項,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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','test2'],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','test2'],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]], axis=1, inplace=True) # dt.columns[[0, 4, 8]] 直接使用索引查詢列

以上這篇Python drop方法刪除列之inplace引數例項就是小編分享給大家的全部內容了,希望能給大家一個參考

原文地址:

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

相關文章