一、刪除DataFrame的某列或某行數據
1、刪除某列或某行數據可以用到pandas提供的方法drop
2、drop方法的用法:drop(labels, axis=0, level=None, inplace=False, errors='raise')
-- axis為0時表示刪除行,axis為1時表示刪除列
3、常用參數如下:
代碼:
import pandas as pd df1 = pd.DataFrame([['Snow','M',22],['Tyrion','M',32],['Sansa','F',18],['Arya','F',14]], columns=['name','gender','age']) print(df1) print('---------刪除行或列:DataFrame.drop()--------') # drop默認對原表不生效,如果要對原表生效,需要加參數:inplace=True print("----刪除單行----") df2=df1.drop(labels=0) # axis默認等於0,即按行刪除,這里表示按行刪除第0行 print(df2) print("------刪除多行------") # 通過labels來控制刪除行或列的個數,如果是刪多行/多列,需寫成labels=[1,3],不能寫成labels=[1:2],用:號會報錯 # 刪除指定的某幾行(非連續的) df21=df1.drop(labels=[1,3],axis=0) # axis=0 表示按行刪除,刪除第1行和第3行 print(df21) # 要刪除連續的多行可以用range(),刪除連續的多列不能用此方法 df22=df1.drop(labels=range(1,4),axis=0) # axis=0 表示按行刪除,刪除索引值是第1行至第3行的正行數據 print(df22) print("----刪除單列----") df3=df1.drop(labels='gender',axis=1) # axis=1 表示按列刪除,刪除gender列 print(df3) print("----刪除多列----") # 刪除指定的某幾列 df4=df1.drop(labels=['gender',"age"],axis=1) # axis=1 表示按列刪除,刪除gender、age列 print(df4)
結果圖: