Python-Pandas库中的loc和iloc

在 Python 的 Pandas 库中,loc 和 iloc 是用于选择 DataFrame 或 Series 数据的两种常用索引方法。它们功能类似,但有重要的区别。

先创建一个Dataframe

import pandas as pd

# 创建 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data, index=['x', 'y', 'z'])

在这里插入图片描述

loc:通过显式名称访问

获取行数据

  • 行列均是通过显式名称访问。
  • 行和列标签可以是字符串、数字(如果是索引值)、布尔条件等。
  • 选择范围是闭区间。
df.loc['x']

在这里插入图片描述

df.loc['y']

在这里插入图片描述

df.loc['x','A']

在这里插入图片描述

df.loc['z','B']

在这里插入图片描述

切片

df.loc[1:2]

报错

df.loc['x':'y']

在这里插入图片描述

df.loc['x':'y','A':'B']

在这里插入图片描述

df.loc['x':'y',['A','C']]

在这里插入图片描述

df.loc[:'y','B':]

在这里插入图片描述

df.loc[df['A']==2,'B']#求A的值是2的元素对应的B值是多少

在这里插入图片描述

df.loc[df['B']>4,'C']

在这里插入图片描述

插入一道题目:

编写一个解决方案,选择 student_id = 101 的学生的 name 和 age 并输出。

返回结果格式如下示例所示。
在这里插入图片描述

import pandas as pd

def selectData(students: pd.DataFrame) -> pd.DataFrame:
    return students.loc[students["student_id"]==101,['name','age']]

在这里插入图片描述
在这里插入图片描述

iloc:基于位置的索引方式访问

取行

df.iloc[0]#第一行

在这里插入图片描述

df.iloc[1]#第二行

在这里插入图片描述

df.iloc[2]#第三行

在这里插入图片描述

取列

df.iloc[:,0]#第一列

在这里插入图片描述

df.iloc[:,1]#第二列

在这里插入图片描述

df.iloc[:,2]#第三列

在这里插入图片描述

切片

df.iloc[:2,:]#切片

在这里插入图片描述

df.iloc[:,:2]#切片

在这里插入图片描述

df.iloc[1:,:2]#切片

在这里插入图片描述

总结

主要区别

在这里插入图片描述

小技巧

  • 使用 loc 进行条件筛选或基于列名的选择。
  • 使用 iloc 处理未知列名的情况,特别是当你仅知道数据的结构时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

算法小菜鸟moon

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

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

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

打赏作者

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

抵扣说明:

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

余额充值