使用 Python 編寫程式,刪除給定 DataFrame 中的一列或多列。


假設你有一個 DataFrame:

 one  two three
0 1    2    3
1 4    5    6

刪除單個列的結果為:

 two three
0 2    3
1 5    6

刪除多個列的結果為:

 three
0 3
1 6

為了解決這個問題,我們將遵循以下步驟:

方案 1

  • 定義一個 DataFrame

  • 使用以下方法刪除特定列:

del df['one']

示例

讓我們看看下面的程式碼來更好地理解:

import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data,columns=('one','two','three'))
print("Before deletion\n", df)
del df['one']
print("After deletion\n", df)

輸出

Before deletion
 one two three
0 1    2    3
1 4    5    6
After deletion
 two three
0 2    3
1 5    6

方案 2

  • 定義一個 DataFrame

  • 使用 pop 函式刪除特定列。定義如下:

df.pop('one')

示例

import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data,columns=('one','two','three'))
print("Before deletion\n", df)
df.pop('one')
print("After deletion\n", df)

輸出

Before deletion
 one two three
0 1    2    3
1 4    5    6
After deletion
 two three
0 2    3
1 5    6

方案 3

  • 定義一個 DataFrame

  • 應用以下方法刪除多列:

df.drop(columns=['one','two'],inplace = True)

示例

import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data,columns=('one','two','three'))
print("Before deletion\n ", df)
df.drop(columns=['one','two'],inplace = True)
print("After deleting two columns\n", df)

輸出

Before deletion
 one two three
0 1    2    3
1 4    5    6
After deletion
 two three
0 2    3
1 5    6
After deleting two columns
 three
0 3
1 6

更新於: 2021年2月24日

140 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告