DataFrame_python学生成绩处理

题目要求

# 1.创建一个学生DataFrame,内容如下创建的样式
# 2.修改索引为【1,2,3,4,5】
# 3.分别输出所有人的英语成绩和数分成绩
# 4.输出性别为女的所有行
# 5.将数分、高代、解几的列名修改为微积分,高等代数,解析几何
# 6.增加一列,列名为平均值,内容为每名学生所有科目的平均值
# 7增加一行,学号为2308,姓名为‘平均值’,性别为空,其他每列为对应列的平均值

代码实现

import pandas as pd

df = pd.DataFrame()
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]
        }
df = pd.DataFrame(data)
# print(df)
print('修改索引------------------------------')
df = pd.DataFrame(data, index=['1', '2', '3', '4', '5'])  # 修改索引
print(df)
print('英语数学成绩-------------------------')
print(df['英语'])
print(df['数分'])

print('输出性别女的-------------------------------------------')
print(df.loc[df['性别']=='女'])  # 输出性别女的行

print('修改列名-------------------------------------')
df.rename(columns={'数分': '微积分', '高代':'高等代数', '解几': '解析几何'},inplace=True)
print(df)

print('计算每人平均值,和--------------------------------------------')
temp = df[['英语',  '体育',  '军训', '微积分', '高等代数', '解析几何']]
df['total'] = temp.sum(axis=1)
df['avg'] = temp.mean(axis=1)
print(df)

print('计算各科的平均-----------------------------------------------')
colmean = df[['英语',  '体育',  '军训', '微积分', '高等代数', '解析几何']].mean()
colmean['姓名'] = '平均值'
df = df.append(colmean, ignore_index=True)
print(df)

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值