📅  最后修改于: 2023-12-03 15:01:22.936000             🧑  作者: Mango
在 Pandas 库中,有两种常用的方式对 DataFrame 进行数据的检索和定位,它们分别是 iloc 和 loc。虽然它们的功能相似,但在使用时需要注意它们的区别。
iloc 表示通过 DataFrame 的行号和列号进行数据的检索和定位。它的语法格式为:
df.iloc[行号, 列号]
其中,行号和列号都可以是单个整数、整数列表或者整数切片对象。例如:
df.iloc[0, 0] # 检索第一个元素
df.iloc[4, :] # 检索第五行的所有元素
df.iloc[:, 2] # 检索第三列的所有元素
df.iloc[2:5, 1:3] # 检索第三至五行和第二至三列的所有元素
上述代码中,df 表示 DataFrame 对象。需要注意的是,iloc 中的行号和列号都是基于 0 开始计数的整数,即第一个元素的行号和列号都是 0。
loc 表示通过 DataFrame 的标签进行数据的检索和定位。它的语法格式为:
df.loc[行标签, 列标签]
其中,行标签和列标签都可以是单个标签、标签列表或者标签切片对象。例如:
df.loc[0, '列1'] # 检索第一行第一列的元素
df.loc[4, :] # 检索第五行的所有元素
df.loc[:, '列3'] # 检索第三列的所有元素
df.loc[2:5, ['列2', '列4']] # 检索第三至五行和第二和第四列的所有元素
需要注意的是,loc 中的行标签和列标签可以是自定义的标签,而不必是基于 0 开始计数的整数。
iloc 和 loc 在 Pandas 中都有它们的作用,但在使用时需要注意它们的区别。如果要通过行号和列号进行数据的检索和定位,就应该使用 iloc;如果要通过行标签和列标签进行数据的检索和定位,就应该使用 loc。