如何从 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
关键字
我们可以使用 Python 的 del
关键字删除 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 进行修改和操作。