📌  相关文章
📜  从 Pandas DataFrame 中删除一列(1)

📅  最后修改于: 2023-12-03 14:49:18.650000             🧑  作者: Mango

从 Pandas DataFrame 中删除一列

在数据分析的过程中,Pandas 是一个非常常用的 Python 模块。在 Pandas 中,DataFrame 是一个常见的数据结构,但有时我们需要从 DataFrame 中删除一列,本文将介绍如何实现这一操作。

方法一:使用 drop() 方法

这是 Pandas 中最常见的方法之一,drop() 方法可以删除指定的列(或行)。

下面是一个简单的例子,假设我们有一个 DataFrame df

import pandas as pd

data = {'name':['John', 'Mary', 'Mark', 'Lucy'],
        'age':[28, 25, 32, 18],
        'salary':[5000, 6000, 5500, 4000]}
        
df = pd.DataFrame(data)

其中,df 的内容如下图所示:

name age salary
0 John 28 5000
1 Mary 25 6000
2 Mark 32 5500
3 Lucy 18 4000

可以看到,该 DataFrame 包含三列:name, agesalary

现在,假设我们要删除 salary 这一列,可以使用以下代码:

df.drop('salary', axis=1, inplace=True)

运行完上述代码后,DataFrame df 的内容将变成下面这个样子:

name age
0 John 28
1 Mary 25
2 Mark 32
3 Lucy 18

我们可以发现,DataFrame df 已经不包含 salary 这一列了。

需要重点注意的是,调用 drop() 方法删除 DataFrame 中的一列时,需要使用 axis 参数指定删除的是列(即 axis=1),并将 inplace 参数设为 True,以修改原始 DataFrame。

方法二:使用 del 关键字

除了使用 drop() 方法外,还可以使用 Python 的 del 关键字删除 DataFrame 中的一列。

同样以上面的 DataFrame df 为例,如果我们要删除 salary 这一列,可以使用以下代码:

del df['salary']

运行完上述代码后,DataFrame df 的内容将和上面一样,不包含 salary 这一列。

需要注意的是,该方法只能从 DataFrame 中删除列,不能用于删除行。同时,同样需要将 df 作为 del 的操作对象。