python相比于excel的优势_对照Excel使用Python进行数据分析,更快掌握

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

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

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

相关文章

python二维图颜色函数_Python scipy的二维图像卷积运算与图像模糊处理操作示例

本文实例讲述了Python scipy的二维图像卷积运算与图像模糊处理操作。分享给大家供大家参考,具体如下: 二维图像卷积运算 一 代码 import numpy as np from scipy import signal, misc import matplotlib.pyplot as plt image misc.ascent()#二维图像数组…

linux命令行大全 笔记,《Linux命令行大全》读书笔记

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?shell就是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统执行。当使用图像用户界面时,我们需要一个叫做终端仿真器…

dedecms 添加,编辑文章时 文章标题有字数限制的解决办法。

百度上说 解决方法有两步: 一、先要在系统参数下的其他选项中修改文档标题最大长度(如修改为150), 后台系统 - 其它选项 - 文档标题最大长度 默认的是60改为150, 二、修改默认参数后,需要手工修改数据表。 …

python绘制散点图、如何选两列作为横坐标_在matplotlib散点图(水平杆图)中从x=0到数据点绘制水平线...

考虑以下情节:由此函数生成:def timeDiffPlot(dataA, dataB, savetoNone, legNone): labels list(dataA["graph"]) figure(figsizescreenMedium) ax gca() ax.grid(True) xi range(len(labels)) rtsA dataA["running"] / 1000.0…

python运行命令_Python中执行外部命令

有很多需求需要在Python中执行shell命令、启动子进程,并捕获命令的输出和退出状态码,类似于Java中的Runtime类库。 subprocess模块的使用: Python使用最广泛的是标准库的subprocess模块,用来替换os.system(),os.spawn*(),os.popen…

linux多选项菜单脚本,linux shell 编写菜单脚本事例

menu2文件代码:---#!/bin/sh#menu2#Main menu script#ignore ctrl-c and QUIT interruptstrap "" 2 3 15MYDATEdate %d/%m/%YTHIS_HOSThostname -sUSERwhoami#user level fileUSER_LEVELSpriv.user#hold fileHOLD1hold1.$$#colour functionfunction colou…

python简单爬虫入门一_Python爬虫快速入门:基本结构简单实例

本爬虫系列入门教程假设读者仅有一点点Python基础或者近乎为零的基础。如果是有Python基础的可以跳过一些对于Python基本知识的补充。 爬虫能干什么呢?一句话概括,正常通过浏览器可以获取的数据,爬虫都可以获取。这句话可以说是包罗万象。一是…

Windows下rocketmq mqnamesrv.exe 启动成功,但是mqbroker.exe启动失败

1、mqnamesrv.exe启动成功 2、启动mqbroker.exe失败 解决办法,删除C:\Users\"当前系统用户名"\store下的所有文件,就可以了转载于:https://www.cnblogs.com/roujingchuxia/p/7685796.html

python加入中小学课程_通知:中小学将新增一门课!对2008-2013年出生的孩子影响最大!...

很多家长都在发愁: “现在孩子竞争这么激烈,奥数、外语、舞蹈、钢琴...样样都行,我该让孩子学点什么,才不会被同龄人甩下?” 其实,人工智能时代,孩子们的竞争战地正在转到——少儿编程&#xff…

linux --- vsftp

vsftp 一、简介与原理 1、VSFTP(very secuery file tranfer protocol) 2、主动模式: 3、被动模式: 4、服务器程序: > vsftpd 5、install: >vaftpd-2.2.2-11.e16.i686.rpm >yum -y install vsftpd …

go tcp客户端自动重连_使用 Go 语言创建 WebSocket 服务

今天介绍如何用 Go 语言创建 WebSocket 服务,文章的前两部分简要介绍了 WebSocket 协议以及用 Go 标准库如何创建 WebSocket 服务。第三部分实践环节我们使用了 gorilla/websocket 库帮助我们快速构建 WebSocket 服务,它帮封装了使用 Go 标准库实现 WebS…

linux系统终端more,一篇文章让你学透Linux系统中的more命令

Linux系统下有很多实用工具可以让你在终端界面查看文本文件。其中一个就是 more。more 跟我之前另一篇文章里写到的工具 —— less 很相似。它们之间的主要不同点在于 more 只允许你向前查看文件。尽管它能提供的功能看起来很有限,不过它依旧有很多有用的特性值得你…

python项目开发案例集锦_在线分享 | 在 VS Code 中一站式完成 Python 项目开发

往期活动回顾VS Code 中文社区自成立以来,已经举办了4场活动:Workshop | First Step to VS Code 基础篇 Workshop | First Step to VS Code 进阶篇 在线沙龙 | 程序员职业生涯如何不迷茫 干货回顾 | VS Cod…

jvm--Garbage Collection

垃圾回收(GC)一直是java语言的重中之重。 1 对象状态鉴别 1.1 标记对象是否可回收一般有两种算法: 引用计数算法:给每个对象添加一个引用计数器,当引用一次时1,当引用时效时-1,当计数器为0时即可…

linux安装mongo卸载mongo,CentOS7安装及卸载MongoDB.md

安装 MongoDB 社区版本配置 yum 包管理系统创建 /etc/yum.repos.d/mongodb-org-4.2.repo 文件,这样你就可以使用 yum 安装 MongoDB,文件内容如下:123456[mongodb-org-4.2]nameMongoDB Repositorybaseurlhttps://repo.mongodb.org/yum/redhat/…

程序固化到优盘中_将Windows 8/10 系统装进优盘

介绍Windows To Go技术Windows 有一项相当吸引人的神奇功能——“Windows To Go”,它可以让你将 Windows 完整安装到U盘、移动硬盘等便携设备上,并且能随处在不同的电脑硬件上直接运行,让系统可以随身携带!简单说来,这…

如何获得物体的主要方向?

问题来源为网友提供的资料,原文地址为:《Object Orientation, Principal Component Analysis & OpenCV》 问题描述:对于这样的图像(2副,采用了背投光),如何获得上面工件的主要方向主要思路&…

Linux的开源免费办公软件,开源免费Office办公套件(LibreOffice)

LibreOffice是一款全面的开源免费Office办公套件,软件拥有强大的数据导入和导出功能,能直接导入 PDF 文档、微软 Works、LotusWord,支持主要的 OpenXML 格式。软件本身并不局限于 Debian 和Ubuntu 平台,支持 Windows、Mac、PRM pa…

ubuntu安装ftp_如何在 Ubuntu 20.04 上安装 Webmin

本文最先发布在: 如何在 Ubuntu 20.04 上安装 Webmin​www.itcoder.techWebmin 是一个开源控制面板,它允许你通过简单易用的 Web 界面,就可以管理你的 Linux 服务器。它允许你管理用户,组,磁盘配额,创建文件…

c++ auto用法_不想写表达式的类型?试试auto吧

作者:守望,Linux应用开发者,目前在公众号【编程珠玑】 分享Linux/C/C/数据结构与算法/工具等原创技术文章和学习资源。前言你以为我说的自动变量类型auto吗?非也,我们知道C语言中其实也有auto关键字,它和早…