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

loc 和 iloc 函数的区别

loc函数和iloc函数都是DataFrame 中 取值操作的函数
这两个函数有两个不同点
① 使用参数不同
② 返回结果不同
接下来我以下面的数据详细说明

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 没多久,所以知识表达的不是很精简,如果有错误,望各位指出。

你可能感兴趣的:(Pandas里DataFrame 中loc和iloc函数的区别)