DataFrame.loc和DataFrame.iloc

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']])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值