题目要求
# 1.创建一个学生DataFrame,内容如下创建的样式
'学号': ['2308024241', '2308024241', '2308024241', '2308024241', '2308024241'],
'姓名': ['成龙', '周一', '张波', '朱浩', '封印'],
'性别': ['男', '女', '男', '男', '女'],
'英语': [76, 66, 85, 65, 73],
'体育': [78, 91, 81, 50, 88],
'军训': [77, 75, 80, 92, 75],
'数分': [40, 47, 45, 72, 61],
'高代': [23, 47, 45, 62, 47],
'解几': [60, 44, 60, 71, 46]
import pandas as pd
data = {
'学号': ['2308024241', '2308024241', '2308024241', '2308024241', '2308024241'],
'姓名': ['成龙', '周一', '张波', '朱浩', '封印'],
'性别': ['男', '女', '男', '男', '女'],
'英语': [76, 66, 85, 65, 73],
'体育': [78, 91, 81, 50, 88],
'军训': [77, 75, 80, 92, 75],
'数分': [40, 47, 45, 72, 61],
'高代': [23, 47, 45, 62, 47],
'解几': [60, 44, 60, 71, 46]
}
a = pd.DataFrame(data)
a
# 2.修改索引为【1,2,3,4,5】
b = pd.DataFrame(a,index = [1,2,3,4,5])
b
# 3.分别输出所有人的英语成绩和数分成绩
b[['姓名','英语','数分']]
# 4.输出性别为女的所有行
b.loc[b['性别'] == '女']
# 5.将数分、高代、解几的列名修改为微积分,高等代数,解析几何
b = b.rename(columns={'数分':'微积分','高代':'高等代数','解几':'解析几何'})
# 6.增加一列,列名为平均值,内容为每名学生所有科目的平均值
t = b[['英语','体育','军训','微积分','高等代数','解析几何']]
b['平均值']=t.mean(axis = 1)
# 7增加一行,学号为2308,姓名为‘平均值’,性别为空,其他每列为对应列的平均值
t = b[['英语','体育','军训','微积分','高等代数','解析几何','平均值']].mean()
t['学号'] = 2308
t['姓名'] = '平均值'
b.append(t,ignore_index=True)