天天看点

5分钟学会Pandas中iloc/loc/ix区别

大家好,在使用pandas进行数据分析过程中,回想一下你是怎么对一个数据集进行数据切片,是不是百度:<code>pandas如何提取第x行数据</code>,然后根据一堆结果找到一个能用的就完事了,那么你一定会迷失在pandas中的切片函数:<code>.iloc()</code>、<code>.loc()</code>、<code>.ix()</code>中,本文就是为了解决这个问题,通过一个简单的DataFrame彻底搞明白这三个函数到底有什么区别,又该怎么使用。

5分钟学会Pandas中iloc/loc/ix区别

  首先我们创建一个DataFrame用于讲解

a

b

c

d

11

aa

9

1

22

bb

8

2

33

cc

7

3

44

dd

6

4

.iloc就是通过<code>行/列号</code>来选取数据,比如我们可以这样来选取<code>第0行</code>数据

也可按照列号选取某列,如选取第二列

当然也可以按照行号选取某行某列,比如选取第0行第2列

当然也可以根据行号选取多行多列,比如选取第0-2行第0-2列

.loc()函数是通过标签选取数据,如果搞不懂什么是标签什么是位置

5分钟学会Pandas中iloc/loc/ix区别

比如我们选取第1行数据

按标签选取第b行

按标签选取多行

按标签选取某列

按标签选取多列

按标签选取某行某列

ix就是把iloc和loc语法综合了,爱用哪个用哪个,不过在有些版本的pandas中取消了ix函数,我们再看一下df

使用ix可以像iloc通过行号选取

也可以像loc通过标签选取

可以通过行号选取指定位置的数据

可以通过标签选取指定位置的数据

掌握了上面的方法我们就可以按照条件选取数据,比如通过单个条件选取数据

也可以通过多个条件选取数据

5分钟学会Pandas中iloc/loc/ix区别