pandas常用函數詳解——drop()函數


drop函數基本介紹:

功能:刪除數據集中多余的數據

 

DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

 

 

常用參數詳解:

labels:待刪除的行名or列名; 
axis:刪除時所參考的軸,0為行,1為列; 
index:待刪除的行名 
columns:待刪除的列名 
level:多級列表時使用,暫時不作說明 
inplace:布爾值,默認為False,這是返回的是一個copy;若為True,返回的是刪除相應數據后的版本 
errors一般用不到,這里不作解釋

 

舉例說明:

 

#構件一個數據集
df1=pd.DataFrame(np.arange(36).reshape(6,6),columns=list('ABCDEF'))

 

 

 

'1.刪除行數據'
#下面兩種刪除方式是等價的,傳入labels和axis 與只傳入一個index 作用相同
df2=df1.drop(labels=0,axis=0)
df22=df1.drop(index=0)

 

#刪除多行數據
df3=df1.drop(labels=[0,1,2],axis=0)
df33=df1.drop(index=[0,1,2])

 

 

'2.刪除列數據'
df4=df1.drop(labels=['A','B','C'],axis=1)
df44=df1.drop(columns=['A','B','C'])

 

'3.inplace參數的使用'
dfs=df1
#inplace=None時返回刪除前的數據
dfs.drop(labels=['A','B','C'],axis=1)

 

 

#inplace=True時返回刪除后的數據
dfs.drop(labels=['A','B','C'],axis=1,inplace=True)

 

'4.drop函數在多級列表中的應用(實例copy自pandas官方幫助文檔)‘
#構建多級索引
midx = pd.MultiIndex(levels=[['lama', 'cow', 'falcon'],
                             ['speed', 'weight', 'length']],
                     codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],
                            [0, 1, 2, 0, 1, 2, 0, 1, 2]])
#構造數據集
df = pd.DataFrame(index=midx, columns=['big', 'small'],
                  data=[[45, 30], [200, 100], [1.5, 1], [30, 20],
                        [250, 150], [1.5, 0.8], [320, 250],
                        [1, 0.8], [0.3, 0.2]])

 

#同時刪除行數據和列數據
df.drop(index='cow', columns='small')

 

 

#刪除某級index的對應行
df.drop(index='length',level=1)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM