pandas库疑难问题---3、loc方法和iloc方法的区别

pandas库疑难问题---3、loc方法和iloc方法的区别

一、总结

一句话总结:

loc方法是基于标签的,iloc方法是基于整数索引的
# iloc
# 连续切片
print(data.iloc[1:3:1,1:3])
# 不连续
print(data.iloc[[1,3],[1,3]])

# loc
# 连续切片
print(data.loc["A":"D":2,"z":"v":-1])
# 不连续
print(data.loc[["A","C"],["w","y"]])

二、loc方法和iloc方法的区别

博客对应课程的视频位置:3、loc方法和iloc方法的区别-范仁义-读书编程笔记
https://www.fanrenyi.com/video/39/380

loc方法是基于标签的,iloc方法是基于整数索引的

loc is label-based, which means that you have to specify rows and columns based on their row and column labels.

iloc is integer index based, so you have to specify rows and columns by their integer index like you did in the previous exercise.

In [1]:
import pandas as pd
import numpy as np

data = pd.DataFrame(np.arange(20).reshape((4,5)),index=list("ABCD"),columns=list("vwxyz"))
print(data)
    v   w   x   y   z
A   0   1   2   3   4
B   5   6   7   8   9
C  10  11  12  13  14
D  15  16  17  18  19

1、iloc方法

In [2]:
# 连续切片
print(data.iloc[1:3:1,1:3])
    w   x
B   6   7
C  11  12
In [3]:
# 不连续
print(data.iloc[[1,3],[1,3]])
    w   y
B   6   8
D  16  18

2、loc方法

In [4]:
# 连续
print(data.loc["A":"C","w":"y"])
    w   x   y
A   1   2   3
B   6   7   8
C  11  12  13
In [5]:
print(data.loc["A":"D":2,"z":"v":-1])
    z   y   x   w   v
A   4   3   2   1   0
C  14  13  12  11  10
In [6]:
# 不连续
print(data.loc[["A","C"],["w","y"]])
    w   y
A   1   3
C  11  13

需要注意的是:

在iloc使用索引定位的时候,因为是索引,所以,会按照索引的规则取值,如:[1:3] 会取出 1,2 这2个值。

但是loc按照label标签取值则不是这样的。如:["A":"C"] A,B,C 都会取出来。

In [ ]:
 
 
博客对应系列课程视频位置:
1、pandas打乱数据集-范仁义-读书编程笔记
https://www.fanrenyi.com/video/39/360
2、pandas切片操作-范仁义-读书编程笔记
https://www.fanrenyi.com/video/39/379
3、loc方法和iloc方法的区别-范仁义-读书编程笔记
https://www.fanrenyi.com/video/39/380
4、DataFrame类型转换成Numpy中ndarray-范仁义-读书编程笔记
https://www.fanrenyi.com/video/39/381
 
我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
博主25岁,前端后端算法大数据人工智能都有兴趣。
大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
聊技术,交朋友,修心境,qq404006308,微信fan404006308
26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
人工智能群:939687837

作者相关推荐

原文地址:https://www.cnblogs.com/Renyi-Fan/p/13889553.html