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

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

当然,这些在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)-快速分析平均值、总和的更多相关文章

  1. Pandas 学习笔记

    Pandas 学习笔记 pandas 由两部份组成,分别是 Series 和 DataFrame. Series 可以理解为"一维数组.列表.字典" DataFrame 可以理解为 ...

  2. 【转】Pandas学习笔记(七)plot画图

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  3. 【转】Pandas学习笔记(六)合并 merge

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  4. 【转】Pandas学习笔记(五)合并 concat

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  5. 【转】Pandas学习笔记(四)处理丢失值

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  6. 【转】Pandas学习笔记(三)修改&添加值

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  7. 【转】Pandas学习笔记(二)选择数据

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  8. 【转】Pandas学习笔记(一)基本介绍

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  9. Pandas学习笔记(三)

    (1)系列对象( Series)基本功能 编号 属性或方法 描述 1 axes 返回行轴标签列表. 2 dtype 返回对象的数据类型(dtype). 3 empty 如果系列为空,则返回True. ...

  10. Pandas学习笔记

    本学习笔记来自于莫烦Python,原视频链接 一.Pandas基本介绍和使用 Series数据结构:索引在左,值在右 import pandas as pd import numpy as np s ...

随机推荐

  1. Qt 官网开源最新版下载安装保姆级教程【2024-8-4 更新】

    ➤ 什么是Qt(了解请跳过) ➥ Qt 基本介绍 时至今日,Qt 已经经历了诸多变化.并且在未来,它也会不断地更新迭代.所以如果你想要更准确地了解 Qt,应该通过以下几种方法: ① 官方介绍 根据官方 ...

  2. 31.3K star!开源免费本地AI神器,一键部署多模态大模型!

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 " 完全开源.本地优先的AI解决方案,支持文本/语音/图像/视频生成,消费级硬件即 ...

  3. AD系列:Windows Server 2025 搭建AD域控和初始化

    简介 本教程主要内容为使用Windows Server 2025 部署Active Directory (ADDS\域控制器)服务. 所有操作尽量使用PowerShell,可提高部署效率和自动化操作. ...

  4. 【已解决】戴尔 Inspiron 5457 和 5557 启动报错:Invalid configuration information - please run SETUP program.

    场景 我使用的是戴尔15-5557的笔记本电脑,在某次开机的时候系统提示:Invalid configuration information - please run SETUP program. 虽 ...

  5. windows 滑动关机

    可以参考:https://zhuanlan.zhihu.com/p/90087401

  6. windows 配置jdk8环境变量

    JAVA_HOME: E:\Android\Java\jdk1.8.0_131 PATH: %JAVA_HOME\%bin 也可以只配置PATH就可以,如 E:\Android\Java\jdk1.8 ...

  7. Linux之删除命令

    一.格式 只能删除文件夹 rmdir 文件名 删除文件 rm 是强大的删除命令,它可以 永久性地 删除文件系统中指定的文件或目录. 在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息.此命令 ...

  8. TenantLineInnerInterceptor源码解读

    一.引言 TenantLineInnerInterceptor是MyBatis-Plus中的一个拦截器类,位于com.baomidou.mybatisplus.extension.plugins.in ...

  9. 设置IntelliJ IDEA 2021字体大小

      安装Mac版 IntelliJ IDEA 2021.3.1 (Ultimate Edition)后,就需要更改字体.IntelliJ IDEA的字体设置分为两部分:一部分是UI的字体和字号设置,另 ...

  10. AtCoder Beginner Contest 357-F

    Problem 同步于博客 Problem You are given sequences of length \(N\), \(A=(A_1,A_2,\ldots,A_N)\) and \(B=(B ...