# Python Pandas中loc和iloc函数的基本用法讲解

> 作者/来源: UCloud 运营管理员
> 发布时间: 2022-11-15T05:35:00.000Z
> 分类: 解决方案
> 标签: Python
> 原文链接: http://117.50.162.249:3000/yun/articles/2129

---

# Python Pandas中loc和iloc函数的基本用法讲解

> 来源: https://www.ucloud.cn/yun/128351.html
> 作者: 89542767
> 发布日期: 发布于2022-11-15 13:35

Python Pandas的主要左右是解决大量的数据，快速的对数据去进行批量的处理，大大提高工作的效率。那么，里面的loc和iloc函数，具体是怎么进行使用呢？怎么知道每个函数的基本用法呢？下面小编就给大家详细的解答下。

**1 loc和iloc的含义**

　　loc表示location的意思；iloc中的loc意思相同，前面的i表示integer，所以它只接受整数作为参数。

**2用法**

```
　　import pandas as pd
　　import numpy as np
　　#np.random.randn(5,2)表示返回5x2的矩阵，index表示行的编号，columns表示列的编号
　　df=pd.DataFrame(np.random.randn(5,2),index=range(0,5,1),columns=list('AB'))
　　print(df)
```

　　打印df的结果：

![01.png](https://ucloud-blog.cn-bj.ufileos.com/articles/128351/images/128351_000.png)

**2.1 loc函数的用法**

　　loc表示通过标签取数据，标签就是上面的‘0’-‘4’和‘A’-‘B’。

```
　　print(df.loc[0])
```

![02.png](https://ucloud-blog.cn-bj.ufileos.com/articles/128351/images/128351_001.png)

```
   print(df.loc[0,:])
```

![03.png](https://ucloud-blog.cn-bj.ufileos.com/articles/128351/images/128351_002.png)

```
　　print(df.loc[0:2,'A'])
```

![04.png](https://ucloud-blog.cn-bj.ufileos.com/articles/128351/images/128351_003.png)

**2.2 iloc函数的用法**

　　iloc函数表示通过位置取数据，即第m行，第n列数据，只接受整型参数。记住：0:2为“包左不包右”，即取0,1。

```
   print(df.iloc[0,:])
```

![05.png](https://ucloud-blog.cn-bj.ufileos.com/articles/128351/images/128351_004.png)

```
　　print(df.iloc[:,0])
```

![06.png](https://ucloud-blog.cn-bj.ufileos.com/articles/128351/images/128351_005.png)

```
　　print(df.iloc[0:2,:])
```

![07.png](https://ucloud-blog.cn-bj.ufileos.com/articles/128351/images/128351_006.png)

**补充：Pandas中loc和iloc函数实例**

```
　　利用loc、iloc提取行数据
　　import numpy as np
　　import pandas as pd
　　#创建一个Dataframe
　　data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))
　　In[1]:data
　　Out[1]:
　　A B C D
　　a 0 1 2 3
　　b 4 5 6 7
　　c 8 9 10 11
　　d 12 13 14 15
　　#取索引为'a'的行
　　In[2]:data.loc['a']
　　Out[2]:
　　A 0
　　B 1
　　C 2
　　D 3
　　#取第一行数据，索引为'a'的行就是第一行，所以结果相同
　　In[3]:data.iloc[0]
　　Out[3]:
　　A 0
　　B 1
　　C 2
　　D 3
```

　　loc函数：通过行索引“Index”中的具体值来取行数据（如取"Index"为"A"的行）

　　iloc函数：通过行号来取行数据（如取第二行的数据）

**利用loc、iloc提取列数据**

```
　　In[4]:data.loc[:,['A']]#取'A'列所有行，多取几列格式为data.loc[:,['A','B']]
　　Out[4]:
　　A
　　a 0
　　b 4
　　c 8
　　d 12
　　In[5]:data.iloc[:,[0]]#取第0列所有行，多取几列格式为data.iloc[:,[0,1]]
　　Out[5]:
　　A
　　a 0
　　b 4
　　c 8
　　d 12
```

　　综上所述，这篇文章就给大家介绍到这里，希望可以给大家带来帮助。