pandas速成笔记(5)-快速分析平均值、总和
接上篇继续,记得小时候读书那会儿,还没有双减,每次考试完,大家最关心的就是全班的成绩分布,假如有下面一张成绩表:

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

当然,这些在Excel里用SUM/AVERAGE函数,再结合自动填充很容易实现,pandas里要如何类似统计呢?
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)
结果:
学号 语文 数学 科学 英语
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
pandas速成笔记(5)-快速分析平均值、总和的更多相关文章
- Pandas 学习笔记
Pandas 学习笔记 pandas 由两部份组成,分别是 Series 和 DataFrame. Series 可以理解为"一维数组.列表.字典" DataFrame 可以理解为 ...
- 【转】Pandas学习笔记(七)plot画图
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- 【转】Pandas学习笔记(六)合并 merge
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- 【转】Pandas学习笔记(五)合并 concat
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- 【转】Pandas学习笔记(四)处理丢失值
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- 【转】Pandas学习笔记(三)修改&添加值
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- 【转】Pandas学习笔记(二)选择数据
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- 【转】Pandas学习笔记(一)基本介绍
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- Pandas学习笔记(三)
(1)系列对象( Series)基本功能 编号 属性或方法 描述 1 axes 返回行轴标签列表. 2 dtype 返回对象的数据类型(dtype). 3 empty 如果系列为空,则返回True. ...
- Pandas学习笔记
本学习笔记来自于莫烦Python,原视频链接 一.Pandas基本介绍和使用 Series数据结构:索引在左,值在右 import pandas as pd import numpy as np s ...
随机推荐
- 工具分享 | SBSCAN 一款专注于Spring框架的渗透测试工具
0x00 工具介绍 SBSCAN是一款专注于spring框架的渗透测试工具,可以对指定站点进行springboot未授权扫描/敏感信息扫描以及进行spring相关漏洞的扫描与验证. 0x01 下载链 ...
- 【记录】Excel 2021|(一)VBA操作Excel入门,在姓和名之间打空格,如“ZhangSanSan“改成“Zhang SanSan“
版本:Excel 2021. 打开VBA界面:快捷键Alt+F11.(或视图-宏). 录制宏,再看看宏的代码,就可以基本了解常规的Excel操作在VBA里是什么德行. 比方说,我需要对一个选区进行修改 ...
- 动态DP(DDP)
动态DP是树上的.带修改的DP.修改操作一般而言用树剖加线段树加广义矩阵乘法来维护,复杂度可以达到 \(n\log^2 n\). 叫DDP是不知从哪里延续下来的一种神秘简称. P4719 [模板]动态 ...
- Python 深拷贝 vs 浅拷贝
在一些业务场景中, 有时候我们需要复制一个对象, 但是又不想对原来的对象产生影响, 就想搞个 副本 来为所欲为地操作嘛. 但是呢, 在 Python中呢, 又不能通过 赋值 的方式达到效果, 为啥呢? ...
- 鸿蒙NEXT(三):从TypeScript到ArkTS的适配详解
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- 第1.1讲:Transformers 的崛起:从RNN到Self-Attention
序列建模的演进之路 一.RNN( Recurrent Neural Networks):序列处理的开拓者 循环神经网络(RNN)是最早处理序列数据的深度学习结构.RNN的核心思想是在处理序列的每个时间 ...
- 已经在为VKProxy写UI配置站点和文档了
VKProxy 是使用c#开发的基于 Kestrel 实现 L4/L7的代理 有兴趣的同学点个赞呗 目前已经在写文档了, 文档在 https://fs7744.github.io/VKProxy.Do ...
- Manifest V3 getBackgroundPage() 返回 undefined 或报错 You do not have a background page. 的巨坑
省流:无解了,老老实实 sendMessage罢 这件事挺奇怪的,因为我看官方文档就是这么写的,也没什么特别说明,版本也是最新的,就挺奇怪的-- 在翻了一大圈,之后看到了这篇帖子: 意思就是说,ap ...
- 洛谷 P3201 [HNOI2009] 梦幻布丁
洛谷 P3201 [HNOI2009] 梦幻布丁 祭我AC的第十道紫题. 听了一下午的 才调出来. 题意分析 洛谷传送门 给一个序列a,有两种操作-- 1 x y将序列中所有x全部变成y 2查询当前序 ...
- 【2020.11.17提高组模拟】数数(cuvelia) 题解
[2020.11.17提高组模拟]数数(cuvelia) 题解 题目描述 给你一个长度为n的序列\(a_1...a_n\).对于所有的\(k\in [1,n]\)选择序列中的\(k\)个数(下标为\( ...