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

Python数据分析实战基础--pandas 文章目录Python数据分析实战基础01 创建 读取 储存创建 字典+列表读取 pd.read_csv()存储 df.to_csv()02 快速认识数据03 列的基本处理方式增加列 df["新列名:]删除列 df.drop("新增的列")选择某一列 或 几列 df[['第一列','第二列','第三列'..]]修改列04 常用数据类型及操作字符串数值型时间类型 很重要 pd.to_dateti... 阅读详情

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


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

  • 第一种是基于位置(整数)的索引,案例短平快,有个粗略的了解即可,实际中偶有用到,但它的应用范围不如第二种广泛。

  • 第二种是基于名称(标签)的索引,这是要敲黑板练的重点,因为它将是我们后面进行数据清洗和分析的重要基石。

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

640?wx_fmt=png


和第一篇数据集一样,记录着不同流量来源下,各渠道来源明细所对应的访客数、支付转化率和客单价。数据集虽然简短(复杂的案例数据集在基础篇完结后会如约而至),但是有足够的代表性,下面开始我们索引的表演。



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

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

640?wx_fmt=png


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


场景一(行选取)

目标:选择“流量来源”等于“一级”的所有行。

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

640?wx_fmt=png



场景二(列选取)

目标:我们想要把所有渠道的流量来源和客单价单拎出来看一看。

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

640?wx_fmt=png


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


场景三(行列交叉选取)

目标:我们想要看一看二级、三级流量来源、来源明细对应的访客和支付转化率

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

640?wx_fmt=png

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

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


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

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

640?wx_fmt=png


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

640?wx_fmt=png



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

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

640?wx_fmt=png



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

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

640?wx_fmt=png


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

既然loc的应用场景更加广泛,应该给他加个鸡腿,再来个接地气的场景练练手。

插入场景之前,我们先花30秒的时间捋一捋Pandas中列(Series)向求值的用法,具体操作如下:

640?wx_fmt=png


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


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

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

先看看均值各是多少:

640?wx_fmt=png


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

640?wx_fmt=png


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

640?wx_fmt=png


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

640?wx_fmt=png


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


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

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

数据源和详细操作代码

链接:https://pan.baidu.com/s/1e4Ym2P_oqwF3iu1b-L7wYw

  提取码:oc6s

欢迎扫码关注:

640?wx_fmt=other

Python数据分析库:Pandas与NumPy实战 在数据分析领域,Python凭借其强大的生态系统和丰富的库资源,成为了众多数据科学家和分析师的首选语言。其中,Pandas和NumPy是两个最为核心且广泛使用的数据分析库。Pandas提供了高效的数据结构和数据处理工具,而NumPy则专注于数值计算,为Pandas提供了底层支持。本文将结合优快云网站上的相关讨论,提取最实用的解决技巧,通过代码示例和表格分析,深入探讨Pandas与NumPy在数据分析中的实战应用。 阅读详情

相关推荐

Pandas 基础学习

Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来,Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

2201_75677002的博客 2835

Python Pandas 第2章 索引

import numpy as np import pandas as pd df = pd.read_csv('data/table.csv',index_col='ID') df.head() Out[1]: School Class Gender Address Height Weight Math Physics ID 1101 S_1 C_1 M street_1 173 63 34.0 A+ 1102 S_1 C_1 F street_2 192 73 32.5 B+ 1103

假装你是大灰狼的专栏 1454

Pandas实战100例-专栏介绍

Pandas,Python数据科学的心脏,是探索和分析数据世界的强大工具。想象一下,用几行代码就能洞察庞大数据集的秘密,无论是金融市场趋势还是社交媒体动态。 通过Pandas,你可以轻松地整理、清洗、转换数据,将杂乱无章的数据变成有意义的洞察。它的灵活性和效率是数据科学家和分析师的必备利器。 学习Pandas,就是开启数据探索之旅的第一步,让数据讲述背后的故事。你准备好了吗?加入Pandas的世界,成为数据的大师。

若北辰 2680

【Python】快速认识Pandas的10大索引

公众号:尤而小屋作者:Peter编辑:Peter今天给大家带来一篇关于Pandas索引的文章:10种你必须掌握的Pandas索引。索引在我们的日常生活中其实是很常见的,就像:一本书有自己的目录和具体的章节,当我们想找某个知识点,翻到对应的章节即可;也像图书馆中的书籍被分类成文史类、技术类、小说类等,再加上书籍的编号,很快就能够找到我们想要的书籍。外出吃饭点菜的菜单,从主食...

fengdu78的博客 1535

python数据分析基础005 -pandas详解_pandas入门这一篇就足够了

pandas详解,建议收藏!!

苏凉.py的博客 8125

搜索引擎——ElasticSearch汇总

汇总——ElasticSearch篇 全文检索 问题1:什么是全文检索? 基本概念:对**非结构化数据/结构化数据**先建立**索引**,再对索引进行搜索**文档**的过程叫做全文检索。 什么是非结构化与结构化数据? - 非结构化数据:没有固定的格式的数据(html,word,excel)---没有固定长度,字段约束,描述,散列数据 - 结构化数据:有固定的格式的数据(如:数据库数据)---有固定长度(varchar(50)),字段类型,描述修饰数据 搜索算法:顺序扫描法、倒排索引法 - 顺序

alonewolf_99的博客 1841

Python——数据分析三剑客之 Pandas 入门笔记

导包两种创建方式由列表或Numpy数组创建由字典创建。

Even的博客 2006

Unity开发HoloLens应用:从打包到部署的完整指南

本文为Unity开发者提供了将应用部署到HoloLens设备的完整实战指南。详细讲解了从环境准备、Unity项目配置、生成Visual Studio工程,到最终构建APPX安装包并通过设备门户或Visual Studio进行部署的全流程,帮助开发者高效完成混合现实应用的打包与安装。

red88的博客 1019

【Python】数据分析+数据挖掘——探索Pandas中的索引与数据组织

在数据科学和数据分析领域,Pandas是一个备受喜爱的Python库。它提供了丰富的数据结构和灵活的工具,帮助我们高效地处理和分析数据。其中,索引在Pandas中扮演着关键角色,它是一种强大的数据组织和访问机制,使我们能够更好地理解和操作数据。本博客将探讨Pandas中与索引相关的核心知识点和常用操作。我们将了解如何设置和重置索引,通过索引来选择和过滤数据,以及如何利用多级索引来处理复杂的层次结构数据。

知识虔诚的信徒,探索所有未知是信徒毕生的信仰 1万+

Windows NPS与华为、华三、思科设备RADIUS认证实战指南

本文详细介绍了Windows NPS与华为、华三、思科设备RADIUS认证的实战配置指南。通过NPS服务器统一管理网络设备认证,实现企业级安全访问控制,涵盖基础配置、设备对接及故障排查方法,助力管理员提升网络安全管理效率。

weixin_29284201的博客 506

复现基于PYNQ-Z2的手写数字识别卷积加速器设计

来源雪天鱼。

eachanm的博客 969

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

据不靠谱的数据来源统计,学习了Pandas的同学,有超过60%仍然投向了Excel的怀抱,之所以做此下策,多半是因为刚开始用Python处理数据时,选择想要的行和列实在太痛苦,完全没有Excel想要哪里点哪里的快感。 Python资源共享群:626017123 第一篇潘大师(初识Pandas)教程考虑到篇幅问题只讲了最基础的列向索引,但这显然不能满足同志们日益增长的个性化服务(选取)需求。为了...

Pythoncxy的博客 209

【KingSCADA】如何建立硬件系统及相关变量

本篇主要讲解如何定义设备,如何定义变量。KingSCADA3.8的采集系统是指负责和现场设备进行通讯,并采集现场数据和控制现场数据的模块,称之为采集器,也叫IOServer应用,它是一组独立的应用程序,可以脱离KingSCADA3.8软件,它依赖于KingSCADA3.8驱动产品,通过驱动与IO设备进行通讯。采集系统由通讯链路,设备,数据块组成。链路:链路是指计算机通过什么方式(接口)与设备进行连接,链路类别:串口,以太网,GPRS,Modem,通信卡,采集卡,无链路。

做有价值的事,积累有价值的笔记! 1万+

选取制定一列数据_Python数据分析实战基础,灵活的Pandas索引!

据不靠谱的数据来源统计,学习了Pandas的同学,有超过60%仍然投向了Excel的怀抱,之所以做此下策,多半是因为刚开始用Python处理数据时,选择想要的行和列实在太痛苦,完全没有Excel想要哪里点哪里的快感。Python资源共享群:626017123第一篇潘大师(初识Pandas)教程考虑到篇幅问题只讲了最基础的列向索引,但这显然不能满足同志们日益增长的个性化服务(选取)需求。为了舒缓痛感...

weixin_28692867的博客 350

【读论文】ASR大模型动态热词新方案

大型语言模型(LLMs)以其卓越的通用知识和推理能力重塑了 AI 领域,但它们在处理特定领域或用户的专有词汇(即“热词”)时,往往表现出“选择性失忆”。传统的 RAG 或 Prompting 方案在实时性和准确性上存在瓶颈。阿里的《Hotword Model for Large Models》论文提出了一种“神经插件”方案,它能够在不修改基座模型权重的前提下,动态、精准地将热词能力注入到生成过程中。本文将从架构设计、训练范式到推理逻辑,全方位拆解这一技术的内核,并探讨其在工业级应用中的价值。

kakaZhui的博客 296

手把手教你学PCIE--PCIe架构详解 - 物理层结构

在前一篇文章中,我们对PCIe与其他总线协议进行了对比分析。本文将深入探讨PCIe的物理层结构,这是PCIe协议的核心组成部分之一。物理层负责实际的电气信号传输,理解其工作原理对于设计和调试PCIe系统至关重要。PCIe的物理层是协议栈的最底层,负责将数据从链路层转换为电信号进行传输,并在接收端将电信号还原为数据。差分信号传输:通过一对差分信号线实现高速、低噪声的数据传输。时钟恢复:从数据流中提取时钟信号以同步收发双方。均衡与预加重:补偿信号在传输过程中的损耗,提高链路可靠性。

MHD0815的博客 363

Python数据分析基础笔记之Pandas基础

Pandas入门(实战)Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。p...

ERICWONH的博客 5624

【推荐系统】推荐算法:冷启动-召回-粗排-精排-重排 解读

【推荐系统】推荐算法:冷启动-召回-粗排-精排-重排 解读

Danger的博客 3761

Python数据分析实战:使用Pandas进行数据分析

数据读取数据集成透视表数据聚合与分组运算分段统计数据可视化Pandas的使用很灵活,最重要的两个数据类型是DataFrame和Series。对DataFrame最直观的理解是把它当成一个Excel表格文件,如下:索引是从0开始的,也可以将某一行设置为index索引;missing value为缺失值。DataFrame的一列就是Series,Series可以转化为DataFrame,调用方法函数to_frame()即可。

libaiup的博客 7501

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Python数据分析与应用:数据分析库pandas基础

快速查看数据概况df.info()# 输出:数据类型、非空值数量、内存占用等关键信息获取单列数据(返回 Series):column_b = df['列2']本文系统梳理了 pandas 的核心基础知识,从基础数据结构(Series/DataFrame)到高级操作(分层索引、数据库交互),覆盖了数据分析的全流程。通过掌握索引与切片的精准检索、数据读写的多源对接、统计计算的高效实现,读者能够快速上手 pandas 进行数据处理与分析。

2502_90615759的博客 2038

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

Pandas分层索引——《Python数据分析库Pandas》

Pandas分层索引是一种强大而灵活的数据组织方式,它使得我们可以在多个维度上对数据进行深入的分析和处理。通过掌握和使用分层索引,我们可以更加高效地处理复杂数据结构,满足各种分析需求。同时,随着Pandas库的不断发展和完善,分层索引的功能和性能也将得到进一步提升。因此,我们应该积极学习和应用分层索引技术,将其作为数据处理和分析的有力工具之一。👨‍💻博主Python老吕评论,您的举手之劳将对我提供了无限的写作动力!🤞🔥《Python全栈工程师》《跟老吕学MySQL》《Python游戏开发实战讲解》

Python老吕的博客 1142

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Pandas 操作索引——《Python数据分析库Pandas》

Pandas的索引机制是其数据处理和分析功能的核心部分。无论是单层索引还是多层索引,它们都为我们提供了强大的工具来组织和查询数据。通过熟练掌握索引的创建、修改、选取、排序以及合并等操作,我们可以更加高效地处理和分析数据,从而更好地满足实际工作中的需求。在实际应用中,我们还需要注意索引的类型和性能。不同的索引类型(如整数索引、字符串索引等)具有不同的特点和适用场景。同时,对于大型数据集,频繁地修改索引可能会导致性能下降,因此需要根据具体情况权衡利弊,选择最合适的索引策略。

Python老吕的博客 1505

Pandas重置索引——《Python数据分析库Pandas》

虽然默认生成一个连续的整数索引,但你也可以通过传递一个自定义的索引列表或Series来设置新的索引。这允许你根据特定的需求来定制DataFrame的索引结构。函数是Pandas库中一个强大的工具,它允许我们灵活地管理DataFrame的索引。通过理解其基本用法和参数选项,并结合其他Pandas操作,我们可以有效地处理各种数据处理和分析任务。无论是保留旧索引作为列、节省内存、还是结合其他操作使用,都能提供很大的帮助。👨‍💻博主Python老吕评论,您的举手之劳将对我提供了无限的写作动力!🤞🔥。

Python老吕的博客 2243

Pandas索引和数据选择器——《Python数据分析库Pandas》

Pandas的索引和数据选择器是进行数据分析和操作的关键工具,它们提供了丰富的功能和灵活性,使我们能够高效地处理和分析大规模数据集。通过掌握这些工具的高级用法和技巧,我们可以更深入地挖掘数据中的有价值信息,并生成有意义的洞察。随着数据分析和机器学习的不断发展,Pandas等数据分析工具的重要性也日益凸显。未来,我们可以期待更多强大的功能和优化,以进一步提高数据处理和分析的效率和质量。无论是数据分析师、数据科学家还是其他领域的从业者,都应该保持对这些工具的关注和学习,以便在数据处理和分析领域保持竞争力。

Python老吕的博客 984
上一篇: 浅显易懂 | 小孩都看得懂的逐步提升算法
下一篇: 2所非211院校挺进全球高校600强,甩开一众985 | 泰晤士世界大学排行榜出炉
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值