Python数据分析基础(余本)第四章练习

需求

班主任现有一班级的两张表,如下:

信息表:成绩表:现请帮班主任做如下工作:

1) 给成绩表加上姓名列;

2) 给成绩表加上字段“总分”列,并求出总分;

3) 增加列字段“等级”,标注每人“总分”的“优、良、中、及格、差”(270≤优,240≤良,210≤中,及格≤180,差≤180);

4) 计算各门课程的平均成绩以及标准差;

5) 做"总分"成绩分布图,纵坐标表示成绩,横坐标表示学号或者姓名,画出总分的均分横线,让每位同学的总分圆点分布在均分线上下,以便于观察每位同学的成绩离开均分的距离。

引入andas包进行数据分析和matlotb.ylot画图

imortmatlotb.ylotaslt

imortandasasd1) 给成绩表加上姓名列:

读取sheet数据

address='ython实战.xlsx'

sheet1=d.read_excel(address,sheet_name='成绩表')

sheet2=d.read_excel(address,sheet_name='信息表',usecs=[0,1])#读取0,1列连接两个表

sheet=d.merge(sheet1,sheet2,left_on='学号',right_on='学号')#按学号join2) 给成绩表加上字段“总分”列,并求出总分:

没有将缺考成绩设为0的话,求和时将不会’线代‘列一起求和

sheet.loc[sheet['线代']=='缺考','线代']=0#将缺考的成绩设为0

tem=sheet[['C#','线代','Python']]#提取列

sheet['总分']=tem.sum(axis=1)#求和,axis=1为行,0位列3) 增加列字段“等级”,标注每人“总分”的“优、良、中、及格、差”(270≤优,240≤良,210≤中,及格≤180,差≤180):

bins=[0,180,210,240,270,999]#分区间

labels=['差','及格','中','良','优']

sheet['等级']=d.cut(sheet.总分,bins,right=False,labels=labels)#right右区间开4) 计算各门课程的平均成绩以及标准差:

mean=sheet.mean()#所有的平均数

std=sheet.std()#所有的标准差######输出各科的平均分和标准差数据rint(f'''{sheet}n

C#的平均成绩为:{mean[1]},

C#的标准差为:{std[1]},

线代的平均成绩为:{mean[2]},

线代的标准差为:{std[2]},

Python的平均成绩为:{mean[3]},

Python的标准差为:{std[3]}.''')输出结果:5) 做"总分"成绩分布图,纵坐标表示成绩,横坐标表示学号或者姓名,画出总分的均分横线,让每位同学的总分圆点分布在均分线上下,以便于观察每位同学的成绩离开均分的距离:

做"总分"成绩分布图

lt.rcParams['font.sans-serif']=['Simhei']#设置可显示中文

total_mean=mean[4]#总分平均分

lt.title('学生总分分布图')

lt.bar(range(len(sheet['总分'])),sheet['总分'],width=0.8)

lt.xticks(range(len(sheet['总分'])),sheet['姓名'])

lt.axhne(total_mean,cor='red',nestyle='--')

lt.show()

附上完整代码

imortmatlotb.ylotaslt

imortandasasdaddress='ython实战.xlsx'

sheet1=d.read_excel(address,sheet_name='成绩表')

sheet2=d.read_excel(address,sheet_name='信息表',usecs=[0,1])#读取0,1列sheet=d.merge(sheet1,sheet2,left_on='学号',right_on='学号')#连接两个表sheet.loc[sheet['线代']=='缺考','线代']=0#将缺考的成绩设为0

tem=sheet[['C#','线代','Python']]#提取列

sheet['总分']=tem.sum(axis=1)#求和,axis=1为行,0位列bins=[0,180,210,240,270,999]#分区间

labels=['差','及格','中','良','优']

sheet['等级']=d.cut(sheet.总分,bins,right=False,labels=labels)#right右区间开mean=sheet.mean()#所有的平均数

std=sheet.std()#所有的标准差

#输出各科的平均分和标准差数据

rint(f'''{sheet}n

C#的平均成绩为:{mean[1]},

C#的标准差为:{std[1]},

线代的平均成绩为:{mean[2]},

线代的标准差为:{std[2]},

Python的平均成绩为:{mean[3]},

Python的标准差为:{std[3]}.''')#做"总分"成绩分布图

lt.rcParams['font.sans-serif']=['Simhei']#设置可显示中文

total_mean=mean[4]#总分平均分

lt.title('学生总分分布图')

lt.bar(range(len(sheet['总分'])),sheet['总分'],width=0.8)

lt.xticks(range(len(sheet['总分'])),sheet['姓名'])

lt.axhne(total_mean,cor='red',nestyle='--')

lt.show()

python给成绩表加上姓名列_Python数据分析基础练习相关推荐

  1. python给成绩表加上姓名列_Python Pandas 基本操作教学之成绩表

    最近在学着用Pandas处理一些资料,不用还好,一用惊人,实在太猛了. 不过网络上已经太多Pandas介绍(重点是中文的文章很丰富,不用再练英文了) 本文就只是show off一下pandas的好,顺 ...

  2. python给成绩表加上姓名列_Python学习笔记 --第二章

    Python语法基础 "#"号为注释符,建议缩进四个空格,Python大小写敏感. 数据类型 整数 0,2等等,以0x开头的为十六进制数 浮点数 1.58e9 字符串 用'或"括起来的任意文 ...

  3. python给成绩表加上姓名列_成绩表

    mysql 查询语句的使用2020-12-17 17:32:24 DISTINCT 去重关键字 -- 查询哪些学生参加了考试 -- 思路:在成绩表中查询学生id 再看学生表 中的id 是否存在于成绩表 ...

  4. python部分引入total值的问题_Python数据分析基础与过程综述,关键数据预处理异常点的发现与处理,python,及,流程,回顾,重点,之,值...

    一. python数据分析基础库的导入 基本是固定搭配 import numpy as np #科学计算基础库,多维数组对象ndarray import pandas as pd #数据处理库,Dat ...

  5. python查询mysql表名字动态日期_Python之路day11作业-MySQL表查询

    #-*- coding: utf-8 -*- __author__ = 'caiqinxiong_cai' #2019/9/25 15:22#多表查询的作业 : https://www.cnblogs ...

  6. python处理多个excel数据_python 数据分析基础 day8-pandas读写多个excel文件

    今天是读<python数据分析基础>的第8天,今天的读书笔记的内容为利用pandas读写多个excel文件,当中涉及到读写excel文件的多个工作表. 大致原理如下: glob.glob( ...

  7. 关联分析python牛奶面包_Python数据分析基础ReadingDay13_关联分析Apriori

    reading Foundations for Analysis with Python Day 13 <Python数据分析基础>封面 之前我们已经完成了<Python数据分析基础 ...

  8. python 学生成绩表,生成数据表并且绘图

    在学习python的过程中,老师出了一道题,感觉还不错,就写个博客记录一下: 1.已知有50个学生,期末参加5门考试,每一门的权重是(0.3,0.2,0.2,0.2,0.1) 1)随机生成学生基本信息 ...

  9. python如何统计累计每日的人数‘’_Python数据分析2019陕西高考(理工)成绩及填报志愿...

    1.背景 侄子今年高考, 我姐说:既然你会数据分析, 耐组给咱分析一哈!(关中方言) 2.录取分数线 纳尼?三本呢?三本不存在的, 2019年陕西省二本生吞了三本. 数据不难找,度娘来帮忙, 将近几年 ...

最新文章

  1. LiteRouter 路由
  2. 【HDU - 5090】Game with Pearls (匈牙利算法,二分图匹配)
  3. 8、TypeScript-解构赋值
  4. python编程特点_Python基础(1)--Python编程习惯与特点
  5. linux下使用./configure报-bash: ./configure: No such file or directory
  6. ACL 2021 | 火山翻译成绩斐然
  7. RedisJson 横空出世,性能碾压ElasticSearch 和Mongo!
  8. 微信小程序之各类文件下载保存到本地
  9. linux 可道云_阿里云linux+kodexplorer可道云搭建私有云盘-阿里云开发者社区
  10. [南阳OJ-No.33]蛇形填数|在n*n方陈里填入1,2,...,n*n,要求填成蛇形。
  11. ServerSocket与Socket入门详解
  12. 《使用Python进行自然语言处理》学习笔记四
  13. scala基本操作分解实战
  14. Android ninja介绍
  15. 技术分享 | 排序(filesort)详细解析(8000 字长文)
  16. PROCAST-重力铸造分析流程
  17. 【C语言】C语言的三种基本控制结构-顺序、选择、循环
  18. waf和web应用防火墙的区别
  19. 线性回归分析中的哑变量
  20. 基恩士XG-XvisionEditor离线仿真

热门文章

  1. SpringBoot多模块项目初始化搭建
  2. 客户端本地测试集成打包
  3. 1.20e|HUM新开局及对抗各种族后续战术
  4. 计算机知识简报作业,安徽省中小学计算机能力提升简报.doc
  5. python语言的优点及与其他语言相比
  6. 离散Fréchet算法
  7. 零基础系统学习Maya(玛雅)软件,每天30分钟【软件精通】
  8. Android shape画虚线,不显示或者显示实线的解决方案
  9. 通过Mac远程调试iPhone/iPad上的网页(转)
  10. 【职场和发展】未来十年职场的十大发展趋势