loc:通过行、列的名称或标签来索引
iloc:通过行、列的索引位置来寻找数据
首先,我们先创建一个DataFrame生成数据
import pandas as pd data = { 'a':[1,2,3,4,5], 'b':[6,7,8,9,10], 'c':[11,12,13,14,15] } data = pd.DataFrame(data) print(data)
运行结果:
1.loc()
loc是通过行、列的名称或者标签来寻找我们需要的值。
1.读取第一行的值
data1 = data.loc[0]
运行结果:
2.读取第二列(也就是标签为b这一列)的值
data2 = data.loc[:,'b'] data2
运行结果:
注意:这里访问列的时候一定要使用列的标签去访问!!!
如果像这样去访问,就是错的:
3.读取DataFrame的某个区域
data3 = data.loc[ 1:3, "a":"b"] data3 # 读取第1行到第3行,第a列到第b列这个区域内的值
运行结果:
4.根据条件读取
# 读取第b列中大于7的值 data4 = data.loc[ data.b > 6] data4
运行结果:
等价:(这两种用法是等价的)
2.iloc()
iloc方法是通过索引行、列的索引位置[index, columns]来寻找值
(1)读取第二行的值
(2)读取第二列的值(与loc不一样的地方)
(3)进行切片操作(loc是左闭右闭区间)
注意:
这里的区间是左闭右开,data.iloc[1:3, 1:3]中的第4行、第4列取不到