📜  如何在 Pandas 中排除列?(1)

📅  最后修改于: 2023-12-03 15:24:18.533000             🧑  作者: Mango

如何在 Pandas 中排除列?

在 Pandas 中,有时候我们需要从数据中移除不需要的列。下面我们将介绍几种在 Pandas 中排除列的方法。

方法一:使用 drop 函数

drop 函数可以移除指定的列,该函数的语法为:

df.drop(columns=['column_1', 'column_2', ...])

其中,columns 参数指定需要移除的列名。下面是一个例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)
print("移除前的数据:")
print(df)

df = df.drop(columns=['gender'])
print("移除 gender 列后的数据:")
print(df)

该程序将输出:

移除前的数据:
       name  age gender
0     Alice   25      F
1       Bob   30      M
2  Charlie   35      M
移除 gender 列后的数据:
       name  age
0     Alice   25
1       Bob   30
2  Charlie   35
方法二:使用 del 关键字

我们可以通过 del 关键字从 DataFrame 中删除一列数据,其语法为:

del df['column_name']

其中,df 是 DataFrame 对象,column_name 是指需要删除的列名。下面是一个例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)
print("移除前的数据:")
print(df)

del df['gender']
print("移除 gender 列后的数据:")
print(df)

该程序将输出:

移除前的数据:
       name  age gender
0     Alice   25      F
1       Bob   30      M
2  Charlie   35      M
移除 gender 列后的数据:
       name  age
0     Alice   25
1       Bob   30
2  Charlie   35
方法三:使用 loc 函数

我们可以使用 loc 函数选择需要保留的列,该函数的语法为:

df.loc[:, ['column_1', 'column_2', ...]]

其中,冒号 : 表示所有的行,['column_1', 'column_2', ...] 表示需要保留的列名。下面是一个例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)
print("移除前的数据:")
print(df)

df = df.loc[:, ['name', 'age']]
print("只保留 name 和 age 列后的数据:")
print(df)

该程序将输出:

移除前的数据:
       name  age gender
0     Alice   25      F
1       Bob   30      M
2  Charlie   35      M
只保留 name 和 age 列后的数据:
       name  age
0     Alice   25
1       Bob   30
2  Charlie   35

以上就是在 Pandas 中排除列的几种方法。通过这些方法,我们可以方便地处理 DataFrame 中的列数据。