本文主要是介绍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. 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
- 返回结果不同
loc 函数返回的数据遵循左右都闭的形式,而iloc函数返回的数据则是遵循左闭右开的形式,
由此可见 ,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函数遵循左开右闭 。
由于是新手,刚接触DataFrame 没多久,所以知识表达的不是很精简,如果有错误,望各位指出。
这篇关于Pandas里DataFrame 中loc和iloc函数的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!