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

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 r语言神经网络自变量重要性分析
  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢