Python学习笔记 -loc和iloc的用法与区别

Python学习笔记 - loc和iloc的用法与区别

如果我要查看全部数据,则直接输入df

在这里插入图片描述

如果我们要看表头,那就输入:

df.columns

在这里插入图片描述

pandas索引

dataframe的索引中,有三个函数可以用于选择数据

loc(): 使用index来选择数据 (based indexing)

iloc():使用整数索引来选择数据 (positional indexing)

ix(): iloc()和loc()的混合 (已废弃,不推荐使用)

首先介绍loc()

语法:

loc [      :      ,       ]

一般逗号左边是用来索引行,逗号的右边用来索引列

一般逗号的左边都是数字,右边则为“列名”,也可以是bool

索引单列语法:

df.loc[:,"列名"]

这样就会输出所有的这一列的数据

索引多列语法:

df.loc[:,[ "列名1", "列名2", "列名3" ]]

这样就会输出多行数据

索引限定行语法:

数字也可以放入loc中当做索引,但是这时数字指的是标签而不是位置

比如df.loc[数字:数字]所输出的是编程排序里0-9的,也就是ID从1-10的行

df.loc[:数字,[ "列名1", "列名2", "列名3" ]]
df.loc[数字:数字,[ "列名1", "列名2", "列名3" ]]

另外,在我们进行索引的时候,就像python中的切片一样,如果是针对行的索引,那么后边的:, 是可以省略不写的。

还有一种玩法,就是利用loc函数,根据某个数据来提取数据所在的行

举个例子:

然后,我们来看看.iloc, .iloc 是基于integer 和bool的切片,不接受string。

基础语法:

iloc [     :      ,      :  ]

跟loc一样,iloc逗号左边是用来索引行,逗号的右边用来索引列

一般逗号的左右都是数字

与.loc不同的是,.iloc里面的数字指的是位置,所以遵从我们切片器的规则,包头不包尾。( [1:5] 的意思就是,从第二个到第四个,因为包1不包5)

用法:

df.iloc[:4] 代表索引前4(编程里的排序0123,ID为1234)

df.iloc[4] 代表索引第5(编程里的排序012344代表ID5)

df.iloc[1:5, 2:4] 代表索引2-5行,3-4列(编程里排序的1234,也就是ID2345; 编程里排序的23,也就是第三第四列)

我们还可以通过输入df.dtypes 来看看文档的数据类型

也可以通过df.列名.unique 来看看这一列存在的unique值

另外,df.groupby(['列名‘]).size()可以帮我们查看列里面的variable出现的个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值