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)
输出结果为:
Name Age
0 Alice 25
1 Bob 32
2 Charlie 18
在上述代码中,我们使用了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)
输出结果同上。
值得注意的是,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)
输出结果同上。
使用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)
输出结果同上。
与drop()函数不同的是,使用del删除列的操作会直接修改原始的DataFrame对象,不会返回一个新的DataFrame对象。
总结
使用Pandas的drop()函数或Python的del关键字都可以实现在DataFrame中删除一列数据的操作,它们各有优劣。在使用时需要注意,如果需要保留原数组,可以使用drop()函数来实现删除列的操作,并将inplace参数设置为False;如果确信要直接对原数组进行修改,则可以使用Python的del关键字。
极客教程