Tender ོᩚᩚ769 2022-05-30 17:17 采纳率: 50%
浏览 148
已结题

pandas分析学生成绩

数据名称:2020cj.xlsx
请使用pandas库对数据文件中的学生成绩进行分析。要求如下

  1. 空白成绩使用0填充
  2. 智育总分按从大到小排序列出前10名学生的所有智育成绩信息,包括智育总分(列名为智育总分,保留一位小数)。结果保存在变量df1中,df1为pandas的dataframe对象。
  3. 读取德育成绩,并按照从高到底排序,结果保存在df2对象中,df2为dataframe
  4. 读取体育成绩,结果保存在变量df3中,df3为dataframe类型的变量
  5. 体育成绩按照从高到低排序,存放在df3_top中
  6. 统计学生的总分,综合评分=智育0.7+德育0.1+体育*0.2 统计结果存放在变量df4中,df4中至少包含字段姓名,综合评分

img

img

img

  • 写回答

2条回答 默认 最新

  • 一切因为有你 2022-05-30 20:08
    关注
    
    import pandas as pd
    
    df11=pd.read_excel('2020cj.xlsx',sheet_name='智育')
    df2=pd.read_excel('2020cj.xlsx',sheet_name='德育')
    df3=pd.read_excel('2020cj.xlsx',sheet_name='体育')
    
    df11['智育总分']=round(df11.iloc[:,1:].sum(axis=1),1)
    
    df1=df11.head(10)
    
    df2=df2.sort_values(by='德育分',ascending=0)
    
    df3_top=df1.sort_values(by='体育分',ascending=0)
    
    df4=df11.merge(df2,on=['学号','姓名'])
    df4=df4.merge(df3,on=['学号','姓名'])
    
    智育0.7+德育0.1+体育*0.2
    
    df4['综合评分']=0.7*df4['智育总分']+0.2*df4['德育分']+0.1*df4['体育分']
    
    df4=df4[['姓名','综合评分']]
    
    print(df1)
    print(df2)
    print(df3)
    print(df4)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月14日
  • 已采纳回答 6月6日
  • 创建了问题 5月30日

悬赏问题

  • ¥15 plotBAPC画图出错
  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理