要在pandas的DataFrame对象中插入一列,可以使用insert()方法。insert()方法需要传入三个参数:需要插入的位置、新列的名称、新列的数据。
具体地,可以按如下步骤进行操作:
- 创建一个DataFrame对象
在这里,我们先创建一个包含学生姓名、班级、语文、数学和英语成绩的DataFrame对象:
import pandas as pd
data = {
'姓名': ['小明', '小红', '小刚', '小美'],
'班级': ['一班', '二班', '一班', '二班'],
'语文': [89, 78, 90, 80],
'数学': [92, 82, 85, 78],
'英语': [88, 76, 92, 80]
}
df = pd.DataFrame(data)
print(df)
输出结果为:
姓名 班级 语文 数学 英语
0 小明 一班 89 92 88
1 小红 二班 78 82 76
2 小刚 一班 90 85 92
3 小美 二班 80 78 80
- 插入一列
假设我们要在DataFrame对象中插入一列总分,可以按如下方式操作:
df.insert(4, '总分', df.loc[:, '语文':'英语'].sum(axis=1))
print(df)
输出结果为:
姓名 班级 语文 数学 总分 英语
0 小明 一班 89 92 269 88
1 小红 二班 78 82 236 76
2 小刚 一班 90 85 267 92
3 小美 二班 80 78 238 80
这里我们使用了loc[]方法来选取“语文”、“数学”和“英语”三列数据,然后使用sum()方法在行方向上求和,得到了每个学生的总分。insert()方法的第一个参数“4”表示插入的位置,即在“英语”这一列的后面插入一列。“总分”是新增列的列名。
- 插入其他类型的列
除了插入数值类型的列,我们还可以插入其他类型的列,比如字符串和布尔型。下面是插入字符串和布尔型列的两个示例:
# 插入一个字符串类型的列
df.insert(1, '性别', ['男', '女', '男', '女'])
# 插入一个布尔类型的列
df.insert(6, '及格', df.loc[:, '语文':'英语'].mean(axis=1) >= 60)
第一个示例插入了一个字符串类型的列“性别”,使用了一个列表来提供新增列的数据。第二个示例插入了一个布尔类型的列“及格”,使用了DataFrame对象的mean()方法来计算每个学生的平均分,然后使用“>=”运算符来判断是否及格。
输出最终的DataFrame对象:
姓名 性别 班级 语文 数学 总分 及格 英语
0 小明 男 一班 89 92 269 True 88
1 小红 女 二班 78 82 236 True 76
2 小刚 男 一班 90 85 267 True 92
3 小美 女 二班 80 78 238 True 80
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas 使用insert插入一列 - Python技术站