Pandas中 iloc 和 loc的区别
参考kaggle中的Pandas课程这里先创建一个DataFrame结构的数据:import pandas as pddata = pd.DataFrame({'a':[0,10,20,30,40],'b':[1,11,21,31,41],'c':[2,12,22,32,42]})显示结果如下图:iloc的意思是基于索引(index-based selection),输入为索引,也就是,行是(0,
·
参考kaggle中的Pandas课程
这里先创建一个DataFrame结构的数据:
import pandas as pd
data = pd.DataFrame({'a':[0,10,20,30,40],'b':[1,11,21,31,41],'c':[2,12,22,32,42]})
显示结果如下图:
iloc的意思是基于索引(index-based selection),输入为索引,也就是,行是(0,1,2,3,4)中的值,列是(0,1,2)中的值。
loc的意思是基于标签(label-based selection),输入为标签,也就是,行是(0,1,2,3,4)中的值,列是('a', 'b' ,'c')中的值。
可以理解为iloc输入的是坐标,loc输入的是具体含义。两个方法容易被混淆的点,在于这里行坐标(0,1,2,3,4)恰好也是具体含义,但iloc中的数字与loc中的数字真实含义不同。
也正是因为这个差距,容易导致一个错误。
在对数据进行切片操作时,iloc与Python中 (:)的含义相同,包含(:)前的值,不包含(:)后的值。
而在loc中使用(:)不仅包含(:)前的值,也包含(:)后的值。
更多推荐
已为社区贡献1条内容
所有评论(0)