Python数据分析实战基础 | 灵活的Pandas索引

简介: 两种常用的索引方式:•第一种是基于位置(整数)的索引,案例短平快,有个粗略的了解即可,实际中偶有用到,但它的应用范围不如第二种广泛。•第二种是基于名称(标签)的索引,这是要敲黑板练的重点,因为它将是我们后面进行数据清洗和分析的重要基石。

这是Python数据分析实战基础的第二篇内容,结合案例详解Pandas索引的具体用法。已经熟练掌握Pandas索引的同学,可以加快手速滑动浏览或者直接略过本文。


据不靠谱的数据来源统计,学习了Pandas的同学,有超过60%仍然投向了Excel的怀抱,之所以做此下策,多半是因为刚开始用Python处理数据时,选择想要的行和列实在太痛苦,完全没有Excel想要哪里点哪里的快感。


第一篇潘大师(初识Pandas)教程考虑到篇幅问题只讲了最基础的列向索引,但这显然不能满足同志们日益增长的个性化服务(选取)需求。为了舒缓痛感,增加快感,满足需求,第二篇内容我们单独把索引拎出来,结合场景详细介绍两种常用的索引方式:


  • 第一种是基于位置(整数)的索引,案例短平快,有个粗略的了解即可,实际中偶有用到,但它的应用范围不如第二种广泛。
  • 第二种是基于名称(标签)的索引,这是要敲黑板练的重点,因为它将是我们后面进行数据清洗和分析的重要基石。


首先,简单介绍一下练习的案例数据:


1.png


01 基于位置(数字)的索引



先看一下索引的操作方式:


2.png


我们需要根据实际情况,填入对应的行参数和列参数。


场景一(行选取)


目标:选择“流量来源”等于“一级”的所有行。思路:手指戳屏幕数一数,一级的渠道,是从第1行到第13行,对应行索引是0-12,但Python切片默认是含首不含尾的,要想选取0-12的索引行,我们得输入“0:13”,列想要全部选取,则输入冒号“:”即可。


3.png


场景二(列选取)


目标:我们想要把所有渠道的流量来源和客单价单拎出来看一看。思路:所有流量渠道,也就是所有行,在第一个行参数的位置我们输入“:”;再看列,流量来源是第1列,客单价是第5列,对应的列索引分别是0和4:


4.png


值得注意的是,如果我们要跨列选取,得先把位置参数构造成列表形式,这里就是[0,4],如果是连续选取,则无需构造成列表,直接输入0:5(选取索引为0的列到索引为4的列)就好。


场景三(行列交叉选取)


目标:我们想要看一看二级、三级流量来源、来源明细对应的访客和支付转化率思路:先看行,二级三级渠道对应行索引是13:17,再次强调索引含首不含尾的原则,我们传入的行参数是13:18;列的话我们需要流量来源、来源明细、访客和转化,也就是前4列,传入参数0:4。


5.png


02 基于名称(标签)的索引



为了建立起横向对比的体感,我们依然沿用上面三个场景。


场景一:选择一级渠道的所有行


思路:这次我们不用一个个数位置了,要筛选流量渠道为"一级"的所有行,只需做一个判断,判断流量来源这一列,哪些值等于"一级"。


8.png


返回的结果由True和False(布尔型)构成,在这个例子中分别代表结果等于一级和非一级。在loc方法中,我们可以把这一列判断得到的值传入行参数位置,Pandas会默认返回结果为True的行(这里是索引从0到12的行),而丢掉结果为False的行,直接上例子:


9.png


场景二:我们想要把所有渠道的流量来源和客单价单拎出来看一看


思路:所有渠道等于所有行,我们在行参数位置直接输入“:”,要提取流量来源和客单价列,直接输入名称到列参数位置,由于这里涉及到两列,所以得用列表包起来:


10.png


场景三:我们想要提取二级、三级流量来源、来源明细对应的访客和支付转化率


思路:行提取用判断,列提取输入具体名称参数。


11.png


此处插播一条isin函数的广告,这个函数能够帮助我们快速判断源数据中某一列(Series)的值是否等于列表中的值。拿案例来说,df['流量来源'].isin(['二级','三级']),判断的是流量来源这一列的值,是否等于“二级”或者“三级”,如果等于(等于任意一个)就返回True,否则返回False。我们再把这个布尔型判断结果传入行参数,就能够很容易的得到流量来源等于二级或者三级的渠道。

既然loc的应用场景更加广泛,应该给他加个鸡腿,再来个接地气的场景练练手。
插入场景之前,我们先花30秒的时间捋一捋Pandas中列(Series)向求值的用法,具体操作如下:


12.png


只需要加个尾巴,均值、标准差等统计数值就出来了,了解完这个,下面正式进入场景四。


场景四:对于流量渠道数据,我们真正应该关注的是优质渠道,假如这里我们定义访客数、转化率、客单价都高于平均值渠道是优质渠道,那怎么找到这些渠道呢?


思路:优质渠道,得同时满足访客、转化、客单高于平均值这三个条件,这是解题的关键。


先看看均值各是多少:


13.png


再判断各指标列是否大于均值:


14.png


要三个条件同时满足,他们之间是一个“且”的关系(同时满足),在pandas中,要表示同时满足,各条件之间要用"&"符号连接,条件内部最好用括号区分;如果是“或”的关系(满足一个即可),则用“|”符号连接:


15.png


这样连接之后,返回True则表示该渠道同时满足访客、转化率、客单价都高于均值的条件,接下来我们只需要把这些值传入到行参数的位置。


16.png


到这一步,我们直接筛选出了4条关键指标都高于均值的优质渠道。


这两种索引方式,分别是基于位置(数字)的索引和基于名称(标签)的索引,关键在于把脑海中想要选取的行和列,映射到对应的行参数与列参数中去。


只要稍加练习,我们就能够随心所欲的用pandas处理和分析数据,迈过了这一步之后,你会发现和Excel相比,Python是如此的美艳动人。


相关文章
|
7月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
519 0
|
8月前
|
数据采集 数据可视化 数据挖掘
Python数据分析实战:Pandas处理结构化数据的核心技巧
在数据驱动时代,结构化数据是分析决策的基础。Python的Pandas库凭借其高效的数据结构和丰富的功能,成为处理结构化数据的利器。本文通过真实场景和代码示例,讲解Pandas的核心操作,包括数据加载、清洗、转换、分析与性能优化,帮助你从数据中提取有价值的洞察,提升数据处理效率。
386 3
|
7月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
674 0
|
10月前
|
自然语言处理 数据挖掘 数据处理
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
本文将介绍 10 个在数据处理中至关重要的 Pandas 技术模式。这些模式能够显著减少调试时间,提升代码的可维护性,并构建更加清晰的数据处理流水线。
325 3
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
|
10月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
1111 0
|
7月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
8月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
9月前
|
存储 数据挖掘 大数据
基于python大数据的用户行为数据分析系统
本系统基于Python大数据技术,深入研究用户行为数据分析,结合Pandas、NumPy等工具提升数据处理效率,利用B/S架构与MySQL数据库实现高效存储与访问。研究涵盖技术背景、学术与商业意义、国内外研究现状及PyCharm、Python语言等关键技术,助力企业精准营销与产品优化,具有广泛的应用前景与社会价值。
|
9月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
695 0
|
12月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析,别再死磕Excel了!
Python数据分析,别再死磕Excel了!
460 2

推荐镜像

更多