如何从 Pandas DataFrame 中删除一列

如何从 Pandas DataFrame 中删除一列

Pandas 是 Python 中使用最广泛的数据处理库之一,它提供了大量的数据处理和分析功能。在 Pandas 中,数据以 DataFrame 的形式进行存储和操作。对于一个 DataFrame,我们有时需要删除其中的某一列,以便进行下一步的操作。本文将介绍 Pandas 中如何从 DataFrame 中删除一列。

示例数据

在本文中,我们使用下面的示例数据来演示如何删除一列。

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'gender': ['F', 'M', 'M', 'M']
}

df = pd.DataFrame(data)
print(df)

输出结果如下:

    name  age gender
0  Alice   25      F
1    Bob   32      M
2   Charlie   18      M
3    David   47      M

方法一:使用 del 关键字

我们可以使用 Pythondel 关键字删除 DataFrame 中的某一列。下面的代码演示了如何删除“gender”列。

# 删除“gender”列
del df['gender']
print(df)

输出结果如下:

      name  age
0    Alice   25
1      Bob   32
2  Charlie   18
3    David   47

从上面的输出结果可以看出,“gender”列已经被成功删除了。

方法二:使用 drop 方法

除了使用 del 关键字,我们还可以使用 drop 方法从 DataFrame 中删除一列。drop 方法接受一个参数 labels,它可以是一个列名或多个列名组成的列表。

# 删除“gender”列
df.drop(labels='gender', axis=1, inplace=True)
print(df)

输出结果与方法一相同:

      name  age
0    Alice   25
1      Bob   32
2  Charlie   18
3    David   47

axis 参数指定了删除的方向,这里我们使用 axis=1 表示删除列,而不是删除行。由于 drop 方法默认不会修改原始 DataFrame,因此我们需要将 inplace 参数设置为 True,以便直接将修改应用于原始 DataFrame 上。

如果要同时删除多列,我们可以将列名组成的列表传递给 drop 方法的 labels 参数。

# 删除“age”和“gender”两列
df.drop(labels=['age', 'gender'], axis=1, inplace=True)
print(df)

输出结果为:

      name
0    Alice
1      Bob
2  Charlie
3    David

从上面的输出结果可以看出,“age”和“gender”两列都被成功删除了。

结论

本文介绍了两种方法从 Pandas DataFrame 中删除一列,分别是使用 del 关键字和使用 drop 方法。在使用这些方法时需要注意指定要删除的列名以及删除的方向。使用这些方法可以轻松地对 DataFrame 进行修改和操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程