pandas索引函数loc和iloc的区别

        使用pandas进行数据分析的时候,我们经常需要对DataFrame的行或者列进行索引。使用pandas进行索引的方法主要有三种:直接使用行或者列标签、loc函数和iloc函数。

        举个简单的例子:

import numpy as np
import pandas as pd
df = pd.DataFrame({"Fruits":["apple","pear","banana","watermelon"],"Price":[1.2,1.4,2.3,4.2],"Sales":[11,45,25,16]})
df

           生成的DataFrame如下所示:

FruitsPriceSales
0apple1.211
1pear1.445
2banana2.325
3watermelon4.216

1、直接使用行或者列标签

        假如我们要选取df的Fruits和Price两列,则

df[['Fruits','Price']]
FruitsPrice
0apple1.2
1pear1.4
2banana2.3
3watermelon4.2

假如我们要选取df的第2、3行,则

df[2:4]
FruitsPriceSales
2banana2.325
3watermelon4.216

2、loc函数

        loc函数是基于行标签和列标签进行索引的,其基本用法为:

DataFrame.loc[行标签,列标签]

        假如我们要选取df的第2、3行和Price、Sales对应的列,则

df[2:3,'Price':'Sales']
PriceSales
22.325
34.216

        假如我们要选取所有的行和Fruits、Sales对应的列,则

df.loc[:,['Fruits','Sales']]
FruitsSales
0apple11
1pear45
2banana25
3watermelon16

3、iloc函数

        iloc函数是基于行和列的位置进行索引的,索引值从0开始,并且得到的结果不包括最后一个位置的值,其基本用法为:

DataFrame.iloc[行位置,列位置]

        假如我们要选取df的第2、3行和第1、2列,则

df.iloc[2:4,1:3]
PriceSales
22.325
34.216

        假如我们要选取所有的行和第0、2列,则

df.iloc[:,[0,2]]
FruitsSales
0apple11
1pear45
2banana25
3watermelon16
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hanyunkaka

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值