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