Pandas库中loc和iloc的详细解析与Python应用
在 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]#切片

总结
主要区别

小技巧
作者:算法小菜鸟moon
