pandas dataframe 增加一列
1. 前言
在数据分析和处理中,经常会使用到pandas
库来处理和操作数据。pandas
是一个强大的Python数据分析工具,它提供了DataFrame
这个高效灵活的数据结构,能够方便地对数据进行整理、清洗、分析和可视化等操作。
本文将详细介绍如何使用pandas
给DataFrame增加一列。通过给出具体的示例代码,并展示运行结果,帮助读者更好地理解和掌握这一操作。
2. 数据准备
首先,我们需要准备一些数据,用来演示如何给DataFrame增加一列。我们将创建一个包含学生信息的DataFrame,包括学生姓名、年龄和性别。
import pandas as pd
# 创建一个字典,包含学生信息
data = {'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [20, 21, 19, 22],
'性别': ['男', '男', '女', '男']}
# 使用字典创建DataFrame对象
df = pd.DataFrame(data)
print(df)
运行以上代码,可以得到以下输出:
姓名 年龄 性别
0 张三 20 男
1 李四 21 男
2 王五 19 女
3 赵六 22 男
得到了一个包含学生信息的DataFrame。
3. 使用 pandas
给 DataFrame 增加一列
在pandas
中,给DataFrame增加一列的最基本的方法就是直接通过赋值操作来添加新的列。下面是给DataFrame增加一列的示例代码:
# 给DataFrame增加一列,列名为“分数”,值为[80, 85, 90, 92]
df['分数'] = [80, 85, 90, 92]
print(df)
运行以上代码,可以得到以下输出:
姓名 年龄 性别 分数
0 张三 20 男 80
1 李四 21 男 85
2 王五 19 女 90
3 赵六 22 男 92
我们可以看到,DataFrame成功地增加了一列“分数”,并且每个学生对应的分数被正确地添加到了对应的行。
4. 根据已有列计算新的列
除了直接赋值添加新的列之外,还可以根据已有的列计算得到新的列。例如,我们可以根据学生的年龄计算其出生年份,并将结果作为新的一列添加到DataFrame中。
下面是根据已有列计算新的一列的示例代码:
# 根据年龄计算出生年份,并将结果作为新的一列添加到DataFrame中
df['出生年份'] = 2022 - df['年龄']
print(df)
运行以上代码,可以得到以下输出:
姓名 年龄 性别 分数 出生年份
0 张三 20 男 80 2002
1 李四 21 男 85 2001
2 王五 19 女 90 2003
3 赵六 22 男 92 2000
我们可以看到,成功地根据学生的年龄计算得到了新的一列“出生年份”,并添加到了DataFrame中。
5. 使用函数为新列赋值
除了直接赋值和根据已有列计算赋值之外,我们还可以使用函数来为新列赋值。例如,我们可以定义一个函数来判断年龄是否大于等于20岁,然后将判断结果作为新的一列添加到DataFrame中。
下面是使用函数赋值新列的示例代码:
# 定义一个函数,判断年龄是否大于等于20岁
def is_adult(age):
if age >= 20:
return True
else:
return False
# 使用函数判断学生是否成年,并将结果作为新的一列添加到DataFrame中
df['是否成年'] = df['年龄'].apply(is_adult)
print(df)
运行以上代码,可以得到以下输出:
姓名 年龄 性别 分数 出生年份 是否成年
0 张三 20 男 80 2002 True
1 李四 21 男 85 2001 True
2 王五 19 女 90 2003 False
3 赵六 22 男 92 2000 True
我们可以看到,成功地根据定义的函数判断了学生是否成年,并将判断结果作为新的一列“是否成年”添加到了DataFrame中。
6. 总结
本文详细介绍了如何使用pandas
给DataFrame增加一列。通过给出具体的示例代码,并展示运行结果,读者可以更好地理解和掌握这一操作。
在实际的数据处理中,给DataFrame增加一列是非常常见的操作,能够帮助我们更好地对数据进行分析和处理。掌握这一技巧将对数据分析工作带来很大的便利。