如何使用Python中的“pop”函数删除dataframe的一列?
在数据处理的过程中,我们经常需要删除一些不必要的数据列,这时就需要使用Python中的“pop”函数。本篇文章将详细介绍如何使用Python中的“pop”函数删除dataframe的一列。
更多Python文章,请阅读:Python 教程
什么是dataframe?
在Pandas中,dataframe
是一个类似于表格的对象,由多个行和列组成。每个列代表一种变量,每行代表一个数据点。dataframe
是数据分析中最重要的数据类型之一,能够轻松处理大量数据。
我们首先导入pandas库,创建一个包含几个人员信息的dataframe:
import pandas as pd
data = {
"姓名": ["张三", "李四", "王五"],
"年龄": [18, 22, 35],
"性别": ["男", "男", "女"],
"联系方式": ["123456789", "234567890", "345678901"]
}
df = pd.DataFrame(data)
print(df)
上述代码会输出如下的dataframe:
姓名 年龄 性别 联系方式
0 张三 18 男 123456789
1 李四 22 男 234567890
2 王五 35 女 345678901
如何使用“pop”函数删除dataframe的一列?
当我们需要删除dataframe的一个或多个列时,可以使用pop()
函数。pop()
函数会返回删除的那一列,并修改原始的dataframe。
df.pop("联系方式")
print(df)
上述代码中,pop()
函数删除了dataframe中的“联系方式”列,并将修改后的dataframe输出:
姓名 年龄 性别
0 张三 18 男
1 李四 22 男
2 王五 35 女
怎样避免使用“pop”函数修改原始的dataframe?
当我们不想修改原始的dataframe,而是创建一个新的dataframe时,我们可以使用.drop()
函数。.drop()
函数可以在不修改原始dataframe的情况下删除一列或多列。
new_df = df.drop("年龄", axis=1)
print(new_df)
上述代码中,我们使用了.drop()
函数删除了dataframe中的“年龄”列,并将结果保存在一个新的dataframe中。
姓名 性别
0 张三 男
1 李四 男
2 王五 女
需要注意的是,.drop()
函数可以删除多个列,可以通过传递列名列表来指定需要删除的列。
new_df = df.drop(["联系方式", "年龄"], axis=1)
print(new_df)
上述代码会删除dataframe中的“联系方式”和“年龄”两列。
如何判断dataframe是否包含某列?
有时候,我们需要判断dataframe是否包含某一列。可以使用以下代码:
if "年龄" in df.columns:
print("包含'年龄'列")
else:
print("不包含'年龄'列")
columns
属性会返回一个包含所有列名的列表,我们可以在列表中查找是否包含目标列名。
怎样使用“.loc”或“.iloc”函数删除一列?
除了使用pop()
函数和.drop()
函数,我们还可以使用.loc[]
和.iloc[]
函数删除一列。
df_copy = df.copy()
df_copy = df_copy.loc[:, df.columns != "性别"]
print(df_copy)
上述代码中,.loc[]
函数会返回一个包含所有行和除“性别”列以外的所有列的dataframe。.iloc[]
函数则可以使用类似的语法:
df_copy = df.copy()
df_copy = df_copy.iloc[:, :-1]
print(df_copy)
上述代码中,.iloc[]
函数返回一个包含所有行和除最后一列以外的所有列的dataframe。
需要注意的是,以上方法都会创建一个新的dataframe,并不会修改原始的dataframe。
结论
本文介绍了如何使用Python中的“pop”函数删除dataframe的一列,以及其他方法如何删除dataframe中的一列或多列。通过这些常用的函数,我们可以轻松处理包含大量数据的dataframe,并快速删除不必要的数据。