Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >pandas速成笔记(5)-快速分析平均值、总和

pandas速成笔记(5)-快速分析平均值、总和

作者头像
菩提树下的杨过
发布于 2022-04-27 02:54:18
发布于 2022-04-27 02:54:18
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

上篇继续,记得小时候读书那会儿,还没有双减,每次考试完,大家最关心的就是全班的成绩分布,假如有下面一张成绩表:

老师们通常很快就会算出『平均分、总分』这些关键指标,然后各班之间,就开始攀比:

当然,这些在Excel里用SUM/AVERAGE函数,再结合自动填充很容易实现,pandas里要如何类似统计呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd

# 注意:先不要设置索引(否则最后append时会有问题)
score = pd.read_excel("./data/test.xlsx")
print(score)

# 把各科分数列先取出来
temp = score[['语文', '数学', '科学', '英语']]
print("\n--------各科分数--------")
print(temp)

# 原表上,新增总分、平均分列,并按行统计
score["总分"] = temp.sum(axis=1)
score["平均分"] = temp.mean(axis=1)
print("\n--------每行添加[总分,平均分]--------")
print(score)

# 按列计算平均分
col_avg = score[['语文', '数学', '科学', '英语', '总分', '平均分']].mean()
# 将得到的Serial追加到score表
score = score.append(col_avg, ignore_index=True)
print("\n--------最终结果-------")
print(score)

结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   学号  语文  数学  科学  英语
0  张三  85  90  88  92
1  李四  78  86  90  82
2  王五  95  96  89  80
3  赵六  70  75  99  67
4  杨七  95  93  84  91

--------各科分数--------
   语文  数学  科学  英语
0  85  90  88  92
1  78  86  90  82
2  95  96  89  80
3  70  75  99  67
4  95  93  84  91

--------每行添加[总分,平均分]--------
   学号  语文  数学  科学  英语   总分    平均分
0  张三  85  90  88  92  355  88.75
1  李四  78  86  90  82  336  84.00
2  王五  95  96  89  80  360  90.00
3  赵六  70  75  99  67  311  77.75
4  杨七  95  93  84  91  363  90.75

--------最终结果-------
    学号    语文    数学    科学    英语     总分    平均分
0   张三  85.0  90.0  88.0  92.0  355.0  88.75
1   李四  78.0  86.0  90.0  82.0  336.0  84.00
2   王五  95.0  96.0  89.0  80.0  360.0  90.00
3   赵六  70.0  75.0  99.0  67.0  311.0  77.75
4   杨七  95.0  93.0  84.0  91.0  363.0  90.75
5  NaN  84.6  88.0  90.0  82.4  345.0  86.25
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
常见大数据面试SQL-有序行转列
有学生各学科分数表,记录了学生的各科分数,请按照学生粒度,生成两列数据分别为学科和分数,要求学科内的顺序与分数顺序一致。
数据仓库晨曦
2024/08/01
1080
常见大数据面试SQL-有序行转列
常见大数据面试SQL-查询每个学科第三名的学生的学科成绩总成绩及总排名
有学生成绩表,包含学生姓名、学科、成绩三个字段,请用一条SQL查询出每个学科排名第三名的学生,他的学科成绩、总成绩、以及总排名。
数据仓库晨曦
2024/07/12
2380
常见大数据面试SQL-查询每个学科第三名的学生的学科成绩总成绩及总排名
MySQL实战四:查询再续
MySQL学习仓库Up-Up-MySQL,这是一个学习MySQL从入门实战到理论完善,再到精通的一个仓库,后面会把MySQL的学习资料上传上去!欢迎大家star与fork起来!
公众号guangcity
2019/09/20
1.1K0
SQL常见面试题目
一.学生表(学生id,姓名,性别,分数)student(s_id,name,sex,score) 班级表(班级id,班级名称)class(c_id,c_name) 学生班级表(班级id,学生id)student_class(s_id,c_id)(考察三表联查) 1.查询一班得分在80分以上的学生。
测试之道
2021/03/04
1.3K0
统计学与pandas学习(三)——方差和标准差
平均值表示“数据在其周围分布”这一大致的推测,只根据这一点并不能弄清数据分布的状态。
fanzhh
2019/08/20
2.8K0
统计学与pandas学习(三)——方差和标准差
mysql练习:经典50道基础题
建表共4张表,分别对应学生信息(Student)、课程信息(Course)、教师信息(Teacher)以及成绩信息(SC)
不愿意做鱼的小鲸鱼
2023/02/01
1.2K0
Python集合与字典
set 集合在存储的时候,先把元素转为哈希值,哈希值是顺序存储的,哈希算法是用来判断两个对象是否是同一个;
小雨coding
2020/06/30
1K0
经典SQL练习题(MySQL版)
网上有一篇关于SQL的经典文章,超经典SQL练习题,做完这些你的SQL就过关了,引用和分析它的人很多,于是今天复习SQL的时候找来练了练手。原作者用的是SQL Server 2008,我在这里用的是MySQL 8.0.11(二者语法差别不大),文本编辑器用的是Atom 1.28.2(不知道大家用什么,反正用Atom写SQL确实丝质顺滑)。
全栈程序员站长
2022/09/01
1.2K0
这5个pandas调用函数的方法,让我的数据处理更加灵活自如
最近咱们的交流群很活跃,每天都有不少朋友提出技术问题引来大家的热烈讨论探究。才哥也参与其中,然后发现很多pandas相关的数据处理问题都可以通过调用函数的方法来快速处理。
可以叫我才哥
2021/10/26
1.2K0
这5个pandas调用函数的方法,让我的数据处理更加灵活自如
学习Java必刷编程练习题
现有一个Map集合,map中学号(String)为key,学生(Student)为value,分别使用keySet方式  和entrySet的方式 打印集合中每一个Student对象的name属性和age属性
陶然同学
2023/02/27
7660
【数据库】MySQL经典面试题(练习)
【数据库】MySQL经典面试题(练习) 一、删除除了学号字段以外,其它字段都相同的冗余记录,只保留一条!(也就是要删除凤姐和田七中一条重复数据只留一条) 要求结果数据: 原始数据: CREATE TA
Java帮帮
2018/03/15
1.7K0
【数据库】MySQL经典面试题(练习)
信息技术智库丨月度大考试
--1.成绩表 SC(SId,CId,score) --SId 学生编号,CId 课程编号,score 分数
不吃西红柿
2022/09/19
3890
java进阶|MySQL数据库系列文章(三)聚合函数操作
一,这部分主要是关于mysql数据库常用的聚合函数的操作,函数用多了,名字都忘了去怎么说了,所以这里也是用以回顾之前的内容吧。
码农王同学
2020/05/25
8060
java进阶|MySQL数据库系列文章(三)聚合函数操作
数据库|MySQL制作成绩表单视图
大家平时所看到的成绩表单基本上都是用excel来制作的,学习数据库基础,你就多了一项用MySQL制作表单的技能。不仅方便快捷,输入一些命令就可以很直观的看出重要数据;而且便于储存。那么如何用MySQL制作一张简单的成绩表单呢?
算法与编程之美
2020/09/16
2.3K0
数据库|MySQL制作成绩表单视图
MySQL数据库常用命令
2、创建表:create table student(id int(4) primary key,name char(20));
wangmcn
2022/07/25
2.2K0
Python数据分析之Pandas读写外部数据文件
数据分析、数据挖掘、可视化是Python的众多强项之一,但无论是这几项中的哪一项都必须以数据作为基础,数据通常都存储在外部文件中,例如txt、csv、excel、数据库。本篇中,我们来捋一捋Python中那些外部数据文件读取、写入的常用方法。
Datawhale
2019/12/19
2.2K0
hive sql练习
参考 -- 创建学生表,学号,姓名,性别,年龄,班级 DROP TABLE student; CREATE TEMPORARY TABLE student( Sno int, Sname VARCHAR(20), Sex VARCHAR(20), Sage int, Sdept VARCHAR(20) ); -- 创建 课程表, 课程编号,课程名称 DROP TABLE course; create TEMPORARY TABLE course( Cno int, Cname
用户1733462
2018/10/10
2.9K0
【MYSQL】表的基本查询
主键 或者 唯一键 没有冲突,则直接插入; 主键 或者 唯一键 如果冲突,则删除后再插入
青衫哥
2023/11/30
4150
【MYSQL】表的基本查询
程序设计基础课程设计
4.插入新成绩:从键盘输入一个新学生的成绩,将新成绩按照已排序的成绩顺序(从高到低)插入到数组a中。
Perianth
2024/06/24
3720
MySQL 系列教程之(十四)50 道 SQL 练习题精讲
3.查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )
ruochen
2021/08/17
46.6K0
MySQL 系列教程之(十四)50 道 SQL 练习题精讲
相关推荐
常见大数据面试SQL-有序行转列
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验