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)