Pandas里DataFrame 中loc和iloc函数的区别

loc 和 iloc 函数的区别

loc函数和iloc函数都是DataFrame 中 取值操作的函数
loc中的参数是index
iloc函数中的i表示的是integer,即iloc中的参数只能是整形数字
这两个函数有两个不同点
① 使用参数不同
② 返回结果不同
接下来我以下面的数据详细说明

import numpy as np
import pandas as pd 
df = pd.DataFrame(np.random.rand(10,4),columns=list('abcd'))
print(df)
# 结果:
          a         b         c         d
0  0.226006  0.295747  0.231749  0.573285
1  0.052518  0.059304  0.218019  0.798142
2  0.064813  0.618378  0.971105  0.605308
3  0.954839  0.099021  0.085837  0.637033
4  0.079814  0.805864  0.550378  0.710103
5  0.346486  0.306215  0.463596  0.299014
6  0.200434  0.237708  0.028059  0.940314
7  0.899110  0.233594  0.660966  0.280976
8  0.687531  0.053931  0.858240  0.376436
9  0.995754  0.912359  0.367521  0.324629
  1. 使用参数不同
    1.1. loc 函数里面需要填写的数据索引是标签,而标签就是行名(0-9),列名(‘a’-‘b’)
    使用方法:
print(df.loc[1:2,"a":"b"])
# 结果:
          a         b
1  0.052518  0.059304
2  0.064813  0.618378

1.2 iloc 函数里面需要填写的数据索引是位置,即第几行第几列
使用方法:

print(df.iloc[1:2,0:1])
# 结果;
          a
1  0.052518
  1. 返回结果不同
    loc 函数返回的数据遵循左右都闭的形式,而iloc函数返回的数据则是遵循左闭右开的形式,
    # 下面分别使用loc,iloc填写相同意义的参数 ,查看结果
    print(df.loc[1:2,"a":"b"])
    print(df.iloc[1:2,0:1])
    # iloc 结果:
              a         b
    1  0.052518  0.059304
    2  0.064813  0.618378
    # loc 结果
          a
    1  0.052518
    
    由此可见 ,loc函数取值到参数本身的位置,而iloc函数则是到参数前一位的位置。
    所以说loc函数遵循左开右开,iloc函数遵循左开右闭 。
    由于是新手,刚接触DataFrame 没多久,所以知识表达的不是很精简,如果有错误,望各位指出。
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值