python数据分析小白自学第三天!pandas索引使用(loc,iloc)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

今天学习的是有关pandas的索引操作,接下来会穿插更新数学建模相关的知识,助力国赛!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、 两种类型的索引

Pandas索引操作有两种常见的类型:

  • 第一种是基于位置(整数)的索引,通过指定我们要选哪几行和哪几列,来筛选出目标数据。
  • 第二种是基于名称(标签)的索引,既可以指定列具体的名称,又可以加上复杂的条件判断,筛选更加灵活。

在实际运用中,第一种索引偶尔会用到,应用范围不如第二种广泛,粗略的了解是为了我们能够看懂相关场景的代码。第二种索引则是我们学习的重点,因为它将是我们后面进行数据清洗和分析的重要基石。

1.基于位置的索引iloc

别忘了先导入数据噢

import pandas as pd
df = pd.read_excel('/home/mw/input/Pandas6120/流量练习数据.xls')

在这里插入图片描述
(有二三级数据,未完全展示)

1.1行选取

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

df.iloc[0:13,:]

结果:

在这里插入图片描述

1.2列选取

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

df.iloc[:,[0,4]]

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

1.3行列交叉选取

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

df.iloc[13:18,0:4]

在这里插入图片描述

2基于名称(标签)的索引loc

为了建立起横向对比的体感,我们先沿用上面三个场景,然后在这些基础上补充场景四。

2.1 基于loc的行选取

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

df.loc[df['流量来源'] == '一级',:]

在这里插入图片描述

2.2基于loc的列选取

 df.loc[:,['流量来源','客单价']]

在这里插入图片描述

2.3 基于loc的交叉选取

目标:我们想要提取二级、三级流量来源、来源明细对应的访客和支付转化率。
思路:行提取用判断,列提取输入具体名称参数。

df.loc[df['流量来源'].isin(['二级','三级']),['流量来源','来源明细','访客数','支付转化率']]

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

2.4 多条件索引

df.loc[(df['访客数'] > df['访客数'].mean()) &
      (df['客单价'] > df['客单价'].mean()),:]

通过这样使用,就可以对表中的数据进行条件筛选。

总结

加油加油!

  • 33
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值