Pandas DataFrame中删除列的方法

Pandas DataFrame中删除列的方法

在本文中,我们将介绍如何在Pandas DataFrame中删除一列数据。删除列的方法包括使用drop()函数和使用del关键字。

阅读更多:Pandas 教程

使用drop()函数

Pandas中的drop()函数用于删除DataFrame中的行或列。要删除一列数据,我们需要指定列的名称和轴向参数。下面是一个例子:

import pandas as pd

# 创建DataFrame
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 32, 18], 'Height': [160, 175, 180]})

# 使用drop()删除列
df = df.drop('Height', axis=1)

print(df)
Python

输出结果为:

      Name  Age
0    Alice   25
1      Bob   32
2  Charlie   18
Python

在上述代码中,我们使用了DataFrame的drop()函数来删除了名为“Height”的列。其中,axis参数指定了要删除的轴,1表示列,0表示行。在这个例子中,我们将轴向参数设为1,表示要删除一列数据。

除了使用列名称,我们还可以使用列索引来删除一列数据。下面是一个使用列索引删除一列数据的例子:

# 使用列索引
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 32, 18], 'Height': [160, 175, 180]})
df = df.drop(df.columns[2], axis=1)

print(df)
Python

输出结果同上。

值得注意的是,drop()函数默认会返回一个新的DataFrame对象,而原始的DataFrame对象并不会改变。如果需要在原始的DataFrame对象中删除一列数据,需要将inplace参数设置为True,如下所示:

# inplace参数
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 32, 18], 'Height': [160, 175, 180]})
df.drop('Height', axis=1, inplace=True)

print(df)
Python

输出结果同上。

使用del关键字

除了使用drop()函数,我们还可以使用Python的del关键字来删除DataFrame中的一列数据。下面是一个使用del关键字删除一列数据的例子:

# 使用del关键字
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 32, 18], 'Height': [160, 175, 180]})
del df['Height']

print(df)
Python

输出结果同上。

与drop()函数不同的是,使用del删除列的操作会直接修改原始的DataFrame对象,不会返回一个新的DataFrame对象。

总结

使用Pandas的drop()函数或Python的del关键字都可以实现在DataFrame中删除一列数据的操作,它们各有优劣。在使用时需要注意,如果需要保留原数组,可以使用drop()函数来实现删除列的操作,并将inplace参数设置为False;如果确信要直接对原数组进行修改,则可以使用Python的del关键字。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程