100天精通Python(数据分析篇)——第66天:Pandas透视表基础+实战案例(pivot_table函数)

news2024/11/29 2:29:35

在这里插入图片描述

文章目录

  • 每篇前言
  • 一、透视表基础参数说明+实战案例
    • 0. 导入Excel数据
    • 1. data
    • 2. index
    • 3. values
    • 4. columns
    • 5. aggfunc
    • 6. fill_value
    • 7. dropna
    • 8. margins
    • 9. margins_name
    • 10. observed
    • 11. sort

每篇前言

  • 🏆🏆作者介绍:Python领域优质创作者、华为云享专家、阿里云专家博主、2021年CSDN博客新星Top6

  • 🔥🔥本文已收录于Python全栈系列专栏:《100天精通Python从入门到就业》
  • 📝​📝​此专栏文章是专门针对Python零基础小白所准备的一套完整教学,从0到100的不断进阶深入的学习,各知识点环环相扣
  • 🎉🎉订阅专栏后续可以阅读Python从入门到就业100篇文章还可私聊进千人Python全栈交流群(手把手教学,问题解答); 进群可领取80GPython全栈教程视频 + 300本计算机书籍:基础、Web、爬虫、数据分析、可视化、机器学习、深度学习、人工智能、算法、面试题等。
  • 🚀🚀加入我一起学习进步,一个人可以走的很快,一群人才能走的更远!

在这里插入图片描述
在这里插入图片描述

一、透视表基础参数说明+实战案例

  • 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。所进行的计算与数据跟数据透视表中的排列有关。
  • 之所以称为数据透视表,是因为可以动态地改变它们的版面布置,以便按照不同方式分析数据,也可以重新安排行号、列标和页字段。每一次改变版面布置时,数据透视表会立即按照新的布置重新计算数据。另外,如果原始数据发生更改,则可以更新数据透视表。

语法格式

pandas.pivot_table(
    data: DataFrame, # 制作透视表的数据
    values=None, # 值
    index=None, # 行索引
    columns=None, # 列属性
    aggfunc: AggFuncType = "mean", # 使用的函数,默认是均值
    fill_value=None, # 缺失值填充
    margins=False, # 是否显示总计
    dropna=True, # 缺失值处理
    margins_name="All", # 总计显示为All
    observed=False, # 显示类别分组的观察值
    sort=True, # 排序功能
) -> DataFrame

参数说明:

0. 导入Excel数据

CSDN下载链接(设置0积分但是好像还是要会员):透视表-篮球赛数据.xlsx

阿里网盘链接:https://www.aliyundrive.com/s/bsqugWGJLVz

import pandas as pd
import numpy as np

df = pd.read_excel(r'E:\Python学习\透视表——篮球赛数据.xlsx')
print(df)

在这里插入图片描述


1. data

要创建透视表的DataFrame对象


2. index

接收字符串,列表、分组器、数组或上一个的列表。如果传递了数组,它的长度必须与数据的长度相同。列表可以包含任何其他类型(列表除外)。要根据透视表索引分组的键。如果传递了一个数组,则它的使用方式与列值相同。

(1)接收字符串:

df.pivot_table(index='对手')

运行结果:

在这里插入图片描述

(2)接收列表:

# 在不同主客场下对阵同一对手的数据,分类条件为对手和主客场
df.pivot_table(index=['对手','主客场'])

运行结果:
在这里插入图片描述


3. values

要聚合的列/筛选需要显示的列,可选。如果不写values显示全部数据,写了只会显示我们指定的数据

在主客场和不同胜负情况下的得分和投篮数:

df.pivot_table(index=['主客场','胜负'],values=['投篮数','得分'])

运行结果:
在这里插入图片描述


4. columns

列、分组器、数组或上一个的列表。如果传递了数组,它的长度必须与数据的长度相同。列表可以包含任何其他类型(列表除外)。要在透视表列上分组的键。如果传递了一个数组,则它的使用方式与列值相同。

横向显示每队主客场的得数:

df.pivot_table(index=['主客场'],values='得分',columns='对手')

在这里插入图片描述

5. aggfunc

函数,函数列表,dict,默认numpy.mean。如果传递了函数列表,则生成的透视表将具有分层列,其顶层是函数名称(从函数对象本身推断)。如果传递了dict,则键是要聚合的列,值是函数或函数列表。

(1)单个函数应用:

# 计算在主客场和不同胜负情况下的总得分、总投篮数
df.pivot_table(index=['主客场','胜负'],values=['得分','投篮数'],aggfunc='sum')

可以看出投篮数和得数成正比关系:
在这里插入图片描述

(2)多个函数应用:我们可以在aggfunc函数中指定多个函数,将这些函数放在同一个列表中:

  • 求和:sum

  • 求均值:mean

  • 求个数:size

df.pivot_table(index=['主客场','胜负'],values=['得分','投篮数'],aggfunc=['sum','mean','size'])

在这里插入图片描述

6. fill_value

标量,默认无。值替换缺少的值(在聚合后的结果透视表中)。

横向显示每队主客场的得数,用fill_value=0填充空值:

df.pivot_table(index=['主客场'],values='得分',columns='对手',fill_value=0)

运行结果:
在这里插入图片描述

7. dropna

bool,默认为True。不要包含条目均为NaN的列。如果为True,则在计算边距之前,将忽略任何列中具有NaN值的行。简单来说就是数据中有空值的列不会参与计算


8. margins

bool,默认为False。添加所有行/列(例如小计/总计)。作用是对透视表中的分组数据进行汇总显示。

计算在主客场和不同胜负情况下的总得分、总投篮数,并对结果进行汇总:

df.pivot_table(index=['主客场','胜负'],values=['得分','投篮数'],aggfunc='sum',margins=True)

在这里插入图片描述

9. margins_name

作用修改margins汇总的行名,接收str,默认为“All”。只有margins=True,参数margins_name的设置才会生效。

计算在主客场和不同胜负情况下的总得分、总投篮数,并对结果进行汇总:

df.pivot_table(index=['主客场','胜负'],values=['得分','投篮数'],aggfunc='sum',margins=True,margins_name='汇总')

在这里插入图片描述

10. observed

bool,默认为False。这只适用于任何一个石斑鱼属于分类的情况。如果为True:仅显示类别分组的观察值。如果为False:显示类别分组的所有值。


11. sort

bool,默认为True。指定是否应对结果进行排序。1.3.0版中的新功能。

计算对手的总得分,并对结果进行排序

(1)排序前:

df.pivot_table(index='对手',values='得分',aggfunc='sum')

在这里插入图片描述


(2)排序后:这里由于自带的sort参数没有效果于是用的sort_values函数

df.pivot_table(index='对手',values='得分',aggfunc='sum').sort_values(by=['得分'],ascending=False)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux dolphin为tags协议服务的进程意外退出,kioslave5已经意外关闭

刚开始用archlinux的使用的是dolphin感觉还是挺好用的。不过最近不知道为什么dolphin每次打开都会弹出个错误,很影响效率和心情。我简单的搜索报错代码,也没有成功解决报错。于是打算重新安装一个文件管理器做替换。 现象 运行dolphin或者运行浏览器中…

在PyCharm快速加载第三方模块的设置方法

在《小白学Python》慕课中说明了多种加载第三方模块的方法,这里补充一个在PyCharm中更为方便设置国内镜像源加载的方法。 因为默认情况下,PyCharm是加载国外网站的模块资源,因此常常会因为网络不稳定导致加载失败。因此,可以设置…

基于JAVA的学校图书管理系统(Swing+GUI)

目 录 第1章 绪论 1 1.1系统开发背景和意义 1 1.2系统可行性研究 1 1.3系统开发目标 2 1.4开发平台、运行环境 2 第2章 相关技术概述 3 2.1Java语言简介 3 2.2 Sqllite技术简介 4 2.3 Swing技术简介 5 第3章 需求分析 6 3.1 设计目标 6 3.2 功能分析 6 3.2.1 用户管理 6 3.2.2 …

深度学习day01

Marchine leariing 机器学习就是自动找函式 告诉机器要找的函式用 Supervised Learning 函式的Loss ——评价函式的好坏 Reinforcement就是让机器自己下象棋,输赢自己尝试,没像监督学习那样有人为规定 给函式寻找范围: 函式寻找方法——…

基于STM32实现USB组合设备CDC+MSC正确打开方式

摘要: 前一段时间对无刷电机的驱动有了兴趣,移植了odrive和simpleFOC代码,里面有关于stm32实现USB复合的实例,最近也有打算在electronbot里实现U盘通讯来实现bootloader和语音文件的拷贝和管理。看了网上也有相关实现文章&#x…

【mysql是怎样运行的】-客户端与服务器连接

文章目录1. 几种连接方式1.1 TCP/IP1.2 命名管道和共享内存1.3 UNIX 域套接字2. 服务器处理客户端请求2.1 连接管理2.2 解析与优化2.3 存储引擎1. 几种连接方式 1.1 TCP/IP 数据库服务器进程和客户端进程可能运行在不同的主机中,它们之间必须通过网络进行通信。My…

韩国研究人员开发交通信号控制新算法

由Keemin Sohn教授领导的韩国中央大学的研究小组提出了一种用于交通信号控制的元RL模型。具体来说,该团队开发了一个扩展的深度Q网络(EDQN)结合的基于上下文的元RL模型,用于交通信号控制。传统的交通信号控制器通常无法处理交通拥…

Echarts画散点图

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Echarts画散点图前言一、散点图悬浮框鼠标移入可滚动操作二、散点图偏下方的点悬浮数据显示不全三、数据量大、数据类别多、数据重复点多造成散点图散点展示不全或展示散点出…

操作系统基础教程——第六章课后答案

1.思考题 (6)什么是临界区?什么是临界资源?什么是竞争条件? 临界区:访问临界资源的程序段(代码)。 临界资源:并发进程中共享变量所代表的资源;一次只能供一个进程使用的资源。 …

【机器学习知识点】【1】二维与三维空间梯度下降微分求解及可视化展示

【机器学习知识点】系列文章主要介绍机器学习的相关技巧及知识点,欢迎点赞,关注共同学习交流。 本文主要介绍了机器学习中梯度下降的数学微分求解方法及其可视化。 目录1. 二维空间的梯度下降求解及可视化1.1 二维空间梯度求解1.2二维空间梯度可视化2. 三…

灰色关联度分析-详细代码和说明

1、数据来源:自主计算 2、时间跨度:无 3、区域范围:无 4、指标说明: 因素分析的基本方法过去采用的主要是统计的方法,如回归分析,回归分析虽然是一种较通用的方法,但大都只用于少因素的、线…

SpringBoot SpringBoot 原理篇 3 核心原理 3.2 启动流程【1】

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇3 核心原理3.2 启动流程【1】3.2.1 环境准备3.2.2 启动流程3 核心原理 3.2 启…

基本的图像处理操作

Python中的图像处理基础图像处理是一种对图像执行操作以从中提取信息或增强图像的方法。图像处理是当今计算机视觉中最热门的话题之一,因为它被认为是计算机视觉、OCR 和其他相机相关领域的基础。让我们开始实际处理图像。提示:只是在这里向你展示一个代…

MySQL数据库的事务

文章目录一、事务是什么?二、事务的四大特征原子性一致性持久性隔离性MySQL的四个隔离级别一、事务是什么? 数据库的事务是一种机制,一个操作序列,里面包含了一组数组库操作命令 事务把所有的命令作为一个整体一起向系统提交或撤…

世界杯直播背后的服务器(云计算体系)

世界杯直播背后的服务器 世界杯直播过程中,各大网络平台流媒体app上最大的变化毫无疑问就是零延迟。以前球迷看球是都会发现,网络直播的球赛会比电视播出的球赛延迟40s左右。如果群里有个看电视的兄弟兄弟每个进球他都能提前40秒预告给你,那么…

MySQL 索引

目录 一、索引的概念 二、索引的作用 三、索引的缺点 四、创建索引的原则依据 五、索引的分类和创建 1、普通索引 2、唯一索引 3、主键索引 4、组合索引(单列索引与多列索引) 5、全文索引(FULLTEXT) 六、查看索引 七、…

SpringBoot SpringBoot 原理篇 1 自动配置 1.18 自动配置原理

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.18 自动配置原理1.18.1 变更自动配置1.18.2 小结1.18.3 总结1 自…

校园网站毕业设计,校园网站设计与实现,校园网站论文作品参考

功能清单 【后台管理员功能】 关于我们设置:设置学校简介、联系我们、加入我们、法律声明、学校详情 广告管理:设置小程序首页轮播图广告和链接 留言列表:所有用户留言信息列表,支持删除 会员列表:查看所有注册会员信…

飞桨模型部署至docker并使用FastAPI调用(五)-WordPress展示页面

文章首发及后续更新:https://mwhls.top/4092.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 飞桨模型部署至docker并使用FastAPI调用目录框架搭建 测试…

关于图的学习

一、图的定义 图G由顶点集V和边集E组成,记为G (V, E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合。若V { v1,v2,...,vn },则用 | V | 表示图G中顶点…