您好,登錄后才能下訂單哦!
這篇文章主要介紹了pandas如何實(shí)現(xiàn)DataFrame行或列的刪除方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
平時(shí)在用DataFrame時(shí)候,刪除操作用的不太多,基本是從源DataFrame中篩選數(shù)據(jù),組成一個(gè)新的DataFrame再繼續(xù)操作。
1. 刪除DataFrame某一列
這里我們繼續(xù)用上一節(jié)產(chǎn)生的DataFrame來(lái)做例子,原DataFrame如下:
我們使用drop()
函數(shù),此函數(shù)有一個(gè)列表形參labels,寫(xiě)的時(shí)候可以加上labels=[xxx],也可以不加,列表內(nèi)羅列要?jiǎng)h除行或者列的名稱,默認(rèn)是行名稱,如果要?jiǎng)h除列,則要增加參數(shù)axis=1
,操作如下:
#pd.__version__ =='0.18.0' #drop columns test_dict_df.drop(['id'],axis=1) #test_dict_df.drop(columns=['id']) # official operation, maybe my pandas version needs update!
結(jié)果如下,對(duì)于上面的代碼,官方教程文檔中給出了columns=['name']
,但是在我測(cè)試的時(shí)候會(huì)報(bào)錯(cuò),我用的python3,pandas版本為0.18,可能是pandas版本太老的緣故。
這里注意輸出的結(jié)果是執(zhí)行此方法的結(jié)果,而不是輸出test_dict_df
的結(jié)果,是因?yàn)榉椒J(rèn)的并不是在本身執(zhí)行操作,這時(shí)候輸出test_dict_df
輸出的仍然是沒(méi)有進(jìn)行刪除操作的原DataFrame,如果你想在原DataFrame上進(jìn)行操作,需要加上inplace=True
,等價(jià)于在操作完再賦值給本身:
test_dict_df.drop(['id'],axis=1,inplace=True) # test_dict_df = test_dict_df.drop(['id'],axis=1)
2. 刪除DataFrame某一行
刪除某一行,在上面刪除列操作的時(shí)候也稍有提及,如果不加axis=1,則默認(rèn)按照行號(hào)進(jìn)行刪除,例如要?jiǎng)h除第0行和第4行:
test_dict_df.drop([0,4])
同理,你要在源DataFrame上進(jìn)行操作就得加上inplace參數(shù),否則不會(huì)在test_dict_df上改動(dòng)。
當(dāng)然,如果你的DataFrame有很多級(jí),你可以加上level參數(shù),這里就不多贅述了。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“pandas如何實(shí)現(xiàn)DataFrame行或列的刪除方法”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。