python分析excel数据-对照Excel使用Python进行数据分析,更快掌握

2023-11-16

e17622846574f7e6845c3c67f5cd43eccd659582.gif

Excel和Python,作为数据分析的主流工具,在从效率提升到数据商业化的整个过程中,都起到了重要作用。不管是在Excel中通过鼠标点选实现,亦或是利用Python通过代码实现,数据分析中的很多基础功能都是相通的。

在数据量级大跃进的今天,对于从业者来说,熟练掌握用于数据处理的编程语言非常必要,通晓两者可以更增竞争力。而借助大家最为熟悉的Excel操作,对照学习相应的Python实现,可以帮助更快理解,轻松掌握。

都说Excel关键要掌握4个核心函数(vlookup,if,sum,sumif)和1个核心功能(数据透视表),本期我们就聚焦在广受喜欢的数据透视表和VLOOKUP的操作。

数据透视表

使用数据透视表,可以快速汇总数据,进而进行进一步的分析。

例如,对于一张简单的家庭开支列表,可以基于该列表制作数据透视表51470ed321de4a07212805e305f060b7390a9bc8.png

a1a55d0628d89c0ac62524c5431570b0b18ebf09.png

1.Excel实现

使用数据透视表,在“插入”——“数据透视表”,选中需要创建数据透视表的数据。

我们可以看到如下界面:上半部分为数据透视表中的所有字段,下半部分为数据透视表的选项,把上方的字段拖入下方对应框中即可完成数据透视表。

这里使用2018年国内上市公司管理层报酬统计数据为例,以“公司行业”为行标签,“公司组织形式”为列标签,对“年度报酬总额(万元)”数据计算平均数,得到如下分类汇总和聚合计算。6881b8ea46fca92a0d3f8340c402a71ecff62650.png

75141506c6f61d31721cd7ee7aa1946623814e0b.png

f3aca61850d8926264b557acaf7fd6408c8ca13d.png

2.Python实现

Python中数据透视表的实现原理与Excel类同,使用pandas库中的pivot_table()方法。8487413e130244c3c074c76f12a384bff09ce476.pngdata:要进行数据透视表操作的DataFrame对象

values:要进行值计算的列,对应Excel操作中“数值”框

index:行索引,对应Excel操作中“行标签”框

columns:列名,对应Excel操作中“列标签”框

aggfunc:设定对values要进行的计算类型

fill_value:对空值的填充值

margins:是否显示合计列

dropna:是否删除缺失值

margins_name:设置合计列的列名c33d91b47ed46ea01f18d4b9d93b4e7d170ee4c9.png

2261e7cc3886200bff5cdfe5cc4f6a9a56e8bd95.png

dbb1ad8ef86c28f175196364407c679922d0fa9a.png

fdbd84cd5d739f7cde45a90576513e0d7916a418.jpg

6eea143872bf0cddb3f9fd88e93c22630e1af5c8.png

当然,我们可以进行更多灵活操作,如对各类别的“前三名高管报酬总额”求中位数,对“年度报酬总额”求均值,这种对不同的值进行不同类型计算,可以通过aggfunc传入字典(键为列名,值为计算方式)来设定。4fa2e75ea13c9bc62f72504e288e6f30c8556eaa.png

d00dcdf9b5a6694b8f2ef9dbd278efcb8ef9a3cc.png

VLOOKUP

实际工作中,我们经常会需要用到查找功能,VLOOKUP很多时候是Excel用户学习的第一个查找函数,也是Excel最常使用的三个函数之一,被称为Excel中的效率之王。它应用非常广泛,比如可以将多表匹配、合并,达到对比、查漏等效果,甚至前段时间新诞生的xlookup也借着它的大名火了一把。

例如,在如下信息表中,我们可以查找到与ID号102完全匹配的姓氏,进行返回。0a26715e7544bc51ddee041916c0bd1e2d23864d.png

1.Excel实现

VLOOKUP这个名称中,v为vertical竖直的意思,lookup即为查找,它实现的是纵向按列查找,返回该列所需查询序列所对应的值。

函数表示:d996b7e8b77b9d1255a9e79468195dbb47e34af4.png

即:VLOOKUP(你想要查找的内容, 要查找的范围, 包含要返回的值的区域中的列号, 返回近似或精确匹配)

这里我们继续使用2018年国内上市公司管理层报酬统计数据,需要查找指定的10家上市公司名称、年度报酬总额、前三名董事报酬总额,及前三名高管报酬总额。在Excel中,就可使用VLOOKUP函数实现,如L2的名称数据,是以J2为要进行查找的关键字,查找范围为A2:H3594,返回列数为2(表示查找范围的第2列,即“名称”),匹配模式为FALSE(表示精确匹配)而得到。ced4fbaf4def8efecc5735204b2d11eec2df88cc.jpg

2.Python实现

Python中有多种方法可以实现该操作,推荐使用pandas库中的merge()函数,它是全功能、高性能的连接操作,在习惯上非常类似于SQL等关系数据库。36b005559dc1ce0dba887211dbcd151e6161422c.pngleft:参与合并的左侧DataFrame

right:参与合并的右侧DataFrame

how:合并方式,为inner,outer,left,right其中之一

on:用于连接的列名,必须存在于左右两侧数据

left_on:左侧DataFrame中用作连接键的列

right_on:右侧DataFrame中用作连接键的列

left_index:将左侧的行索引用作其连接键

right_index:将右侧的行索引用作其连接键

sort:根据连接键对合并后的数据进行排序425d6cbbba4e35f9701f5592c6bb1e0dfe6e806c.png

3fbd1aca5cd5c8b822f99b74ca26efb17d5b55ad.png

f64732abccddf9f84da6e8e7955552ae847b7904.png

76281d4e3b1fb07cb18327450b4d7fec268c6bde.png

通过how进行设置的合并方法,主要取决于merge操作的目的:

若只需要查找到指定的10家上市公司数据,则可采用左连接,以放在左侧的avgs数据为基准;

若主要想对右侧salary数据中的3593家上市公司管理层报酬数据进行分析,仅是将已有的员工人均薪酬数据加入,则可考虑使用右连接;

若想保留同时出现在左右两侧的数据,则可考虑使用内连接,取键的交集;

若想将左右两侧数据都进行保留,则可考虑使用外连接,取键的并集。688fcbc3efea14f8d7d0d8a4a9f4597dede4f707.png

18e14619191abc80462e1aeb6fc1528675fa8ab0.jpg

除了使用on指定连接键,我们也可将代码设置为index,通过index作为连接键进行匹配

4eb30729132d4c74573e89f1459c77fded7da722.png

2906f0c1d6328b71cc03aea4ab99d1b93dcc2c73.png

0b1fc7523e1d8e9e188a7c4083daafb881911189.png

f19045cb3cce982bd3b23d85acf20d6a6a764a92.png

8eb516022b24cb76af6012408050b54a6ed951f7.png

c95d034743a38d7fb63a78e871fefde98a4abb2d.jpg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python分析excel数据-对照Excel使用Python进行数据分析,更快掌握 的相关文章

  • 纯干货:接口自动化测试的思考和技术实现

    一 思考 什么是自动化测试 自动化测试是把人为驱动转换成计算机驱的测试行为 人对于接口的测试行为 第一步 理解业务需求 一般来说可以从需求理解接口的行为和描述 行为 当什么情况 做什么操作 发生什么事情 描述 情况是什么 操作是什么等 第二
  • Rust- 类型系统

    The type system in Rust is one of its core features supporting a range of different types and providing a powerful syste
  • 为什么String要被设置为不可变类?百日百题(2/100)

    问题引入 我们学习了String的数据类型 知道了String类型一旦生成就不会再发生改变 这就是他的不可变性 也就意味着每次修改都会产生一个新的String变量 对性能影响较大 StringBuilder和StringBuffer产生的对
  • [Hyperf]源码阅读:验证器验证规则

    hyperf validation src Concerns ValidatesAttributes php
  • 单向链表的Java实现,以及相关函数。

    如上图所示就是单向链表的示意图 下面就是Java实现单向链表的基本过程与源码 可以跑起来的 1 创建一个节点类 package com wpl snglelink public class Node public Object getDat
  • c++_函数返回值,引用&作为函数返回值

    catalog 函数返回值 返回值是 const T 返回值的类型是 T 返回的对象是 局部对象 实现原理 返回的对象是 全局对象 实例 函数返回值 返回值是 const T ST operator ST a ST b return ST
  • 每日一题——求解连通分量个数

    题目描述 从键盘接收图的顶点集 关系集 创建无向图 第一行依次输入图的顶点个数n 关系个数k 以空格隔开 顶点个数 lt 20 第二行依次输入顶点值 类型为字符 接下去有k行 每行为两个字符 u 和 v 表示节点u 和 v 连通 格式为 u
  • 麦克输入

    如图所示 单端输入只有一个输入引脚ADCIN 使用公共地GND作为电路的返回端 ADC的采样值 ADCIN电压 GND的电压 0V 这种输入方式优点就是简单 缺点是如果vin受到干扰 由于GND电位始终是0V 所以最终ADC的采样值也会随着
  • Ros noetic 机器人坐标记录运动路径和发布 实战教程(B)

    前言 网上记录Path的写入文件看了一下还挺多的 有用yaml作为载体文件 也有用csv文件的路径信息 也有用txt来记录当前生成的路径信息 载体不重要 反正都是记录的方式 本文主要按yaml的方式写入 本文将撰写csv方式的文件写入格式
  • mysql查询每年每个月的数据_mysql 查询一年中每个月份的数据量

    这个是用mid 函数 截取字符串 mysql gt select count as 数量 mid time 1 7 as month from my add where time between 2015 01 01 00 00 00 an
  • 华为OD机试真题-字符串解密 【2023.Q1】

    题目内容 题目描述 有两个字符串string1和string2 string1是一个被加扰的字符串 小写英文字母 a z 和数字字符 0 9 组成 而加扰字符串由 0 9 a f 组成 string1里面可能包含0个或多个加扰子串 剩下可能
  • Dell服务器IDRAC管理界面配置NTP时间同步

    登录idrac管理界面 1 点击 iDRAC设置 2 在属性里面点击 设置 3 时区和NTP 4 在NTP1这项填写NTP的服务器地址5 右下角点击 应用 过几分钟就生效了
  • 回归指令_SWAP字节交换指令详解

    说明 本篇文章是为下一篇文章 在触摸屏上演示7段数码管指令而预先讲解的一个指令 正文 字节交换指令应该算一个比较重要的指令 特别PLC要和一些HMI设备通讯 在HMI上录入数据的时候 就有可能需要经常使用这个指令 来看一下西门子200PLC
  • 基于二叉树的算术表达式计算与实现

    非常有趣的一道题 代码参考 https blog csdn net over786 article details 17395567 把一个正常的表达式写成这个样子咯 问题的难点在于整数有多位 而且你要判断好哪个符号作为根 比如5 3 4
  • 华为OD机试 Python 限载货物数最小值

    描述 在火车站旁的货运站 小明负责调度2K辆中转车 其中K辆用于干货 K辆用于湿货 每批到站的货物来自不同的供货商 需要按照顺序装入中转车 注意 一个供货商的货物只能装在一辆车上 不能分开 但是 一辆车可以放多个供货商的货物 问题是 要让所
  • 检测洛达芯片的软件_洛达1562A与1536u与杰里有哪些区别?购买前10条须知

    相信大家应该对AirPodspro已经不陌生了 那么对于廉价版本的华强北AirPodspro有多少了解呢 芯片 洛达 中科蓝讯 杰里 恒炫 惴昱 等等 壳料 彩创壳 原厂彩创壳 资江壳 高美特壳料等等 喇叭也有好多种喇叭 至于大家为什么在各
  • (牛客网)华为机试(二)

    牛客网 华为机试题集解答 在解题前先分享一波oj刷题的固定格式代码 方便输入时使用 import java util import java io public class Main 一定要使用Main作为类名 public static
  • CODIS原理 之 数据迁移流程[2.X]

    CODIS原理 之 数据迁移流程 2 X 分类 源码剖析设计思路 1173 0 作者 邹祁峰 邮箱 Qifeng zou job hotmail com 博客 http blog csdn net qifengzou 日期 2016 08
  • 云安全架构的设计

    公有云安全概述 云安全职责划分 共同担责 软件即服务SAAS 云服务厂家几乎负责所有的安全性 因为租户只能访问 管理和使用其提供的应用程序 但无法对应用程序做破坏性操作 例如 SAAS服务厂家提供安全 日志 运维 审计 应用安全性检测等 二
  • 物联网开发124 - Micropython ESP32 C3连接AHT20温湿度传感器和BMP280压力传感器模块

    一 目的 这一节我们来学习如何使用合宙ESP32 C3 连接AHT20温湿传感器模块和BMP280压力传感器模块 使用ST7735屏幕进行显示 下面我们一起来学习一下吧 二 环境 ESP32 C3开发板 MicroPython v1 19

随机推荐

  • Android attr6,android – 未找到样式属性attr / colorSecondary

    我无法建立我的项目 它显示我attr colorSecondary未找到错误 看看我的风格和清单 请告诉我什么是错的 Android studio version 3 0 canary 9 compileSdkVersion 25 buil
  • 【C/C++】类型转换

    文章目录 1 C语言中的类型转换 1 1隐士类型转换 相近类型 意义相近 1 2 强制类型转换 2 C 的类型转换 2 1相近类型转换 static cast 2 2强制类型转换 reinterpret cast 2 3去掉对象const属
  • pytorch用于多标签分类的bceloss

    def bceloss output target positive prob F logsigmoid output negative prob F logsigmoid output loss positive prob target
  • sklearn机器学习——逻辑回归(一)

    1 概述 1 1 名为 回归 的分类器 x为特征向量 通过函数 线性回归使用输入的特征矩阵X来输出一组连续型的标签值y pred 以完成各种预测连续型变量的任务 比如预测产品销量 预测股价等等 那如果我们的标签是离散型变量 尤其是 如果是满
  • Java常用集合分析

    ArrayList与Vector 动态数组 速度较慢 创建时可以使用initialCapacity指定初始化大小 如果不指定则数组大小默认为10 ArrayList与Vector的区别 ArrayList是线程不安全的 当多个线程访问同一个
  • matlab调整图像大小123开始—放缩比例

    imresize 调整图像大小 此 MATLAB 函数 返回图像 B 它是将 A 的长宽大小缩放 scale 倍之后的图像 输入图像 A 可以是灰度 RGB 或二值图像 如果 A 有两个以上维度 则 imresize 只调整前两个维度的大小
  • 【gitlab wiki】git首次上传本地文档操作步骤

    1 在gitLab中创建一个项目 2 进入本地电脑中的你要上传文件的文件目录 右击鼠标选择 Git Bash Here git命令窗口 本机电脑要安装好git 3 在远程git项目中 复制出项目http地址 4 在 Git Bash Her
  • OBJECT和EMBED标签

    OBJECT和EMBED标签 一 介绍 我们要在网页中正常显示flash内容 那么页面中必须要有指定flash路径的标 签 也就是OBJECT和EMBED标签 OBJECT标签是用于windows平台的IE浏览器的 而EMBED是用于win
  • 微信可以远程控制电脑吗_教你远程控制你的电脑

    众所周知啊 上班最尴尬的就是 你办公室的电脑还开着 可是人没了 老板看见你的电脑屏幕 打开的不是办公软件 而是游戏 电影网站 特意找了一个微信小程序能够帮你远程控制电脑锁屏 关机 甚至还能帮你操控电脑 打开关闭微信 以及各种程序 这款软件只
  • mysql 无法插入中文

    MySQL数据库默认编码已经是utf8了 default character set utf8 可是向数据库中表中插入中文时 却老是出现 xB5 xA5 xD1 xA1 for column 这样的错误 经过查阅网上类型的错误后 发现一个很
  • STM32 ADC采样不准怎么办

    最近在使用STM32L011的ADC时 发现ADC采样值极其不准确 经过查找资料 和反复测试 总算摸出点门道 如将VDDA接到VDD 那么电源的波动会极大的影响ADC精度 不过使用内部参考电压可以计算实际的VDDA电压 说明 VREFINT
  • Ubuntu 16.04下基于Anaconda安装cuda、cudnn及Pytorch

    Anaconda的基本使用见之前的博客 Ubuntu 16 04下Anaconda的安装及使用 创建虚拟环境pytorch gpu 并激活该环境 conda create name pytorch gpu python 3 6 source
  • CSS浮动(1)

    一 结构伪类选择器 1 作用与优势 作用 根据元素在HTML中的结构关系查找元素 优势 减少对于HTML中类的依赖 有利于保持代码整洁 场景 常用于查找某父级选择器中的子元素 2 选择器 选择器 说明 E first child 匹配父元素
  • python 数据库的中文乱码问题

    在使用pymssql操作sqlserver数据库时 碰到了中文乱码的问题 之前从网上查了很多 又是python编码 又是数据库编码什么的 非常乱 试了很多 好多都解决不了问题 数据库是sqlserver 先说我碰到的问题 数据库的配置cha
  • 【安卓学习之常见问题】 AAPT: error: resource drawable/ (aka xxx) not found(含as快捷键说明)

    安卓学习之常见问题 AAPT error resource drawable aka xxx not found 含as快捷键说明 相关文章 android学习开源项目之BasePopup BasePopup PopupWindow 进行二
  • c语言编程题

    include stdafx h include
  • 概念解析

    注1 本文系 概念解析 系列之一 致力于简洁清晰地解释 辨析复杂而专业的概念 本次辨析的概念是 非极大值抑制 NMS 及其改进工作 非极大值抑制 NMS 原理 缺点和改进 1 背景介绍 在计算机视觉中 物体检测是一个核心且充满挑战的问题 众
  • MQTT 协议基本介绍

    目录 一 简介 二 基本特点 三 基本概念 四 简单示例 五 进一步了解MQTT 3 六 MQTT协议的工作方式 七 MQTT控制报文 CONNECT报文 CONNACK报文 八 清除会话 保留消息和QoS的组合 九 MQTT 5 0 协议
  • Hyperledger Fabric环境搭建流程记录详解

    Fabric环境搭建记录 什么是超级账本Fabric 1 Fabric的本质 与一般区块链技术的相同点 Fabric与其他区块链技术一样 都有一个账本 和以太坊相像 也允许使用智能合约 从本质上看 它是参与者共同管理交易的系统 是联盟链的典
  • python分析excel数据-对照Excel使用Python进行数据分析,更快掌握

    Excel和Python 作为数据分析的主流工具 在从效率提升到数据商业化的整个过程中 都起到了重要作用 不管是在Excel中通过鼠标点选实现 亦或是利用Python通过代码实现 数据分析中的很多基础功能都是相通的 在数据量级大跃进的今天