参考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中使用(:)不仅包含(:)前的值,也包含(:)后的值。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐