在Pandas中,刪除一列十分基礎(chǔ)和常見,這里將從多個(gè)方面進(jìn)行詳細(xì)講解。
一、使用del方法
del方法是Python的內(nèi)置函數(shù),可以刪除各種數(shù)據(jù)類型,包括DataFrame數(shù)據(jù)中的某列。通過del方法刪除DataFrame中的一列,可以按照以下步驟進(jìn)行:
import pandas as pd # 創(chuàng)建一個(gè)DataFrame數(shù)據(jù) df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 刪除列B del df['B'] print(df)
上述代碼中,我們首先創(chuàng)建一個(gè)DataFrame數(shù)據(jù),并使用del方法刪除了df數(shù)據(jù)中的B列。代碼執(zhí)行結(jié)果如下:
A C 0 1 7 1 2 8 2 3 9
二、使用DataFrame.drop()方法
相比較于del方法,DataFrame.drop()方法更為靈活。通過drop()方法可以指定刪除哪一行或哪一列,還可以通過參數(shù)指定是否在原數(shù)據(jù)上進(jìn)行修改。
下面的代碼演示了如何使用drop()方法刪除DataFrame數(shù)據(jù)中的一列:
import pandas as pd # 創(chuàng)建一個(gè)DataFrame數(shù)據(jù) df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 刪除列B df.drop(['B'], axis=1, inplace=True) print(df)
上述代碼中,我們使用drop()方法,指定了需要?jiǎng)h除的B列,以及,axis=1參數(shù)表示刪除的是列,inplace=True參數(shù)表示在原數(shù)據(jù)上進(jìn)行修改。
代碼執(zhí)行結(jié)果如下:
A C 0 1 7 1 2 8 2 3 9
三、使用df.pop(column)方法
除了以上兩種方法外,我們還可以使用pop()方法刪除指定的數(shù)據(jù)列,并返回刪除的那一列。
下面的代碼演示了如何使用pop()方法刪除一個(gè)DataFrame數(shù)據(jù)中的指定列:
import pandas as pd # 創(chuàng)建一個(gè)DataFrame數(shù)據(jù) df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 刪除列B col = df.pop('B') print(df) print(col)
上述代碼中,我們使用pop()方法刪除B列,并將其返回。由于pop()方法會(huì)返回刪除的那一列數(shù)據(jù),因此我們可以通過一個(gè)變量接收這個(gè)返回值。代碼執(zhí)行結(jié)果如下:
A C 0 1 7 1 2 8 2 3 9 0 4 1 5 2 6 Name: B, dtype: int64
小結(jié)
在Pandas中刪除一列,可以使用del方法、DataFrame.drop()方法、df.pop()方法等多種方法,每種方法都有其特點(diǎn)和適用場(chǎng)景。如果是需要保留原數(shù)據(jù)不變的情況下,請(qǐng)使用DataFrame.drop()方法,如果需要?jiǎng)h除指定列并返回刪除的列數(shù)據(jù),請(qǐng)使用df.pop()方法。