pandas DataFrame的增刪查改總結系列文章:html
此文咱們繼續圍繞DataFrame介紹相關操做。python
平時在用DataFrame時候,刪除操做用的不太多,基本是從源DataFrame中篩選數據,組成一個新的DataFrame再繼續操做。函數
這裏咱們繼續用上一節產生的DataFrame來作例子,原DataFrame以下:測試
咱們使用drop()
函數,此函數有一個列表形參labels,寫的時候能夠加上labels=[xxx],也能夠不加,列表內羅列要刪除行或者列的名稱,默認是行名稱,若是要刪除列,則要增長參數axis=1
,操做以下:code
#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版本太老的緣故。htm
這裏注意輸出的結果是執行此方法的結果,而不是輸出test_dict_df
的結果,是由於方法默認的並非在自己執行操做,這時候輸出test_dict_df
輸出的仍然是沒有進行刪除操做的原DataFrame,若是你想在原DataFrame上進行操做,須要加上inplace=True
,等價於在操做完再賦值給自己:blog
test_dict_df.drop(['id'],axis=1,inplace=True) # test_dict_df = test_dict_df.drop(['id'],axis=1)
刪除某一行,在上面刪除列操做的時候也稍有說起,若是不加axis=1,則默認按照行號進行刪除,例如要刪除第0行和第4行:教程
test_dict_df.drop([0,4])
同理,你要在源DataFrame上進行操做就得加上inplace參數,不然不會在test_dict_df上改動。ci
固然,若是你的DataFrame有不少級,你能夠加上level參數,這裏就很少贅述了。文檔