DataFrame.loc(行索引名称或者条件,列索引名称或者条件)
DataFrame.iloc(行索引位置,列索引位置)
注意事项:
1.如果选取的是范围的话,用冒号且不加中括号,比如说iloc[0:3,0:3],表示选取1-3行和1-3列。
2.如果选取的是第几行,第几列时,用逗号且加中括号,比如说loc[[1,3],['name','age']],表示选取第2行和第3行以及‘name’列和‘age’列。
3.使用loc时,如果规定选取列的范围,必须使用列索引名称,而且,列索引名称之间必须用逗号隔开。
4.使用iloc时,必须是int类型的索引位置。
5.loc使用选取的是范围时,左右双闭。iloc使用选取的是范围时,左闭右开。
6.loc使用范围比iloc更广更实用,loc可以使用切片、名称 (index,columns)、也可以切片和名称混合使用;但是loc不能使用不存在的索引来充当切片取值。
7.如果要选取所有行或者所有列,只用一个冒号即可。
代码示例:
data={
'id':[10001,10002,10003,10004,10005,10006,10007,10008,10009,10010],
'name':['LY','CE','ZS','LS','WU','ZL','SQ','ZB','WJ','ZS'],
'sex':['F','M','M','F','F','F','M','F','M','M'],
'age':[18,20,36,47,13,25,32,45,13,16],
'address':['California','Texas','Florida','California','Texas','Florida','California','Florida','Texas','Texas'],
'Mjob':['at_home','services','at_home','services','student','at_home','teacher','health','student','student'],
'Ojob':['health','teacher','teacher','health','other','teacher','health','health','other','at_home']
}
df=pd.DataFrame(data,columns=['id','name','sex','age','address','Mjob','Ojob'])
#同时查看name和sex列的值
display(df.iloc[:,[1,2]])
#连续切片,取0-5行、0-5列、左闭右开的所有数据
display(df.iloc[0:5,0:5])
#筛选出第2-5行的第1、3、5列的所有数据
display(df.iloc[1:5,[1,3,5]])
#所有行,所有列
display(df.loc[:,:])
#第一行到第三行,name列和age列
display(df.loc[0:3,['name','age']])