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是如此的美艳动人。


相关文章
|
3月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
388 0
|
3月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
83 4
|
6月前
|
人工智能 索引 Python
[oeasy]python091_列表_索引_index_中括号_索引函数
本文介绍了Python中列表与字符串的索引及index函数用法。通过range生成列表,使用索引[]访问和修改列表元素,index函数查找元素位置。字符串支持索引访问但不可直接修改。还探讨了16进制数在Python中的表示方法,以及日期、月份等特殊字符的Unicode范围。最后总结了列表与字符串操作的区别,并预告后续内容,提供蓝桥云课、GitHub和Gitee链接供进一步学习。
129 20
|
8月前
|
SQL JSON 数据可视化
基于 DIFY 的自动化数据分析实战
本文介绍如何使用DIFY搭建数据分析自动化流程,实现从输入需求到查询数据库、LLM分析再到可视化输出的全流程。基于经典的employees数据集和DIFY云端环境,通过LLM-SQL解析、SQL执行、LLM数据分析及ECharts可视化等模块,高效完成数据分析任务。此方案适用于人力资源分析、薪酬管理等数据密集型业务,显著提升效率并降低成本。
12314 16
|
8月前
|
存储 分布式计算 大数据
基于阿里云大数据平台的实时数据湖构建与数据分析实战
在大数据时代,数据湖作为集中存储和处理海量数据的架构,成为企业数据管理的核心。阿里云提供包括MaxCompute、DataWorks、E-MapReduce等在内的完整大数据平台,支持从数据采集、存储、处理到分析的全流程。本文通过电商平台案例,展示如何基于阿里云构建实时数据湖,实现数据价值挖掘。平台优势包括全托管服务、高扩展性、丰富的生态集成和强大的数据分析工具。
|
8月前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
93 3
|
9月前
|
存储 数据挖掘 数据处理
Python Pandas入门:行与列快速上手与优化技巧
Pandas是Python中强大的数据分析库,广泛应用于数据科学和数据分析领域。本文为初学者介绍Pandas的基本操作,包括安装、创建DataFrame、行与列的操作及优化技巧。通过实例讲解如何选择、添加、删除行与列,并提供链式操作、向量化处理、索引优化等高效使用Pandas的建议,帮助用户在实际工作中更便捷地处理数据。
206 2
|
11月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
|
11月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
11月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习

推荐镜像

更多