左手Python右手Excel,玩转数据透视表哪家强?

2023-10-15 05:20

本文主要是介绍左手Python右手Excel,玩转数据透视表哪家强?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据透视表

什么是数据透视表?对于大多数才开始使用Excel组件的用户来说,可能只是听说过数据透视表,至于数据透视表具体用来做什么,以及它会给实际工作带来什么便利,估计就有很多人不是很清楚了。

数据透视表是一种可以快速汇总、分析和处理大量数据的交互式工具。

简单来说,数据透视表可以从不同角度对相同的数据进行处理和分析,以查看不同层面的数据结果,从而得到想要的数据信息。

形象点来说, 数据透视表就像一个万花筒,通过旋转这个特别的万花筒,可以从中获得不断变化的事物细节,但是事物的本身其实并未发生变化,数据透视表这个特别的万花筒只是一个工具,只不过通过该工具可以获得普通事物的独特视图。

适用场景:

  1. 表格中数据量较大时

  2. 表格中的数据结构不断变化时

  3. 当需要源数据与分析结果的更新保持一致时

数据透视表我们给大家区分了一下段位(青铜、黄金、钻石、王者),本次从小白到青铜段位。先来一波效果图

黄金段位:

钻石段位:

王者段位:

透视表术语介绍

  1. 数据源

指的是用来创建数据透视表的原始数据内容,原始数据既可以来自现有工作表,也可以从外部数据库中获取。

比如下图就是一部分数据源(也有称作:源数据):

  1. 字段

在上图中每一列的第一个单元格内容都为该列的数据分类,在生成数据透视表后,这些数据就是我们所说的字段

  1. 字段列表和字段设置区域

在插入了一个数据透视表后,工作表的右侧会同时出现一个名为“数据透视表字段”的任务窗格。(没有安装office,此处以wps为例介绍)

Excel的数据透视表使用

我们将上面的数据在Excel表格中创建一个透视表具体使用步骤如下:

接下来会打开一张表格:

比如我们要得到的最终结果是:

 则需要在数据透视表的设置区域进行如下操作:

接下来是年份的设置,大家可以看到最终的结果图是将年份内容设置到了列上。

最终效果:

Python操作这些数据最大的亮点是:数据量非常多的时候更有优势。

Python操作数据实现透视表功能

数据透视表的制作我们使用Pandas中的pivot_table完成,具体语法如下:

pivot_table(data,    # DataFramevalues=None,    # 值index=None,    # 分类汇总依据columns=None,    # 列aggfunc='mean',    # 聚合函数fill_value=None,    # 对缺失值的填充margins=False,    # 是否启用总计行/列dropna=True,    # 删除缺失margins_name='All'   # 总计行/列的名称)

首先读取数据:

import os
import numpy as np
import pandas as pddf = pd.read_excel('excel玩家等级.xlsx', sheet_name='原始表格' )
df

结果:

通过pivot_table来制作透视表:

# 透视数据
df_p = df.pivot_table(index=['学院','学科'],    # 透视的行,分组依据columns='年份', # 设置列为年份values='报名人数',    # 值aggfunc='sum'    # 聚合函数)
df_p

添加总计列:

df_p.columns=['2006','2007','2008']
df_p['总计'] = df_p.sum(axis=1)
df_p

结果:

最后追加一行总计数据行

result = df_p.sum(axis=0) # 此时是一个Series对象
result['学院'] = '总计'  # 添加数据
result['学科'] =''
# 对result进行转置
df_1 = pd.DataFrame(data=result)
df2 = df_1.T
df2.set_index(['学院','学科'],inplace=True)
# 在df_p上添加一行
df_p = df_p.append(df2)

这样我们就得到了同样的效果。

扫码添加请备注:python,进群与宋老师面对面交流:517745409

 

这篇关于左手Python右手Excel,玩转数据透视表哪家强?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/215582

相关文章

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型: