利用Pandas读取某列某行数据之loc和iloc用法总结

 更新时间:2022年03月08日 14:15:54   作者:子木同学  
loc是location的意思,和iloc中i的意思是指integer,所以它只接受整数作为参数,下面这篇文章主要给大家介绍了关于利用Pandas读取某列某行数据之loc和iloc用法的相关资料,需要的朋友可以参考下

实际操作中我们经常需要寻找数据的某行或者某列,这里介绍我在使用Pandas时用到的两种方法:iloc和loc。

loc:通过行、列的名称或标签来索引

iloc:通过行、列的索引位置来寻找数据

首先,我们先创建一个Dataframe,生成数据,用于下面的演示

import pandas as pd
import numpy as np
 
# 生成DataFrame
data = pd.DataFrame(np.arange(30).reshape((6,5)),
                    columns=['A','B','C','D','E'])
# 写入本地
data.to_excel("D:\\实验数据\\data.xls", sheet_name="data")
print(data)

1.loc方法

loc方法是通过行、列的名称或者标签来寻找我们需要的值。

(1)读取第二行的值

# 索引第二行的值,行标签是“1”
data1 = data.loc[1]
 

        结果:

备注:
#下面两种语法效果相同
data.loc[1] == data.loc[1,:]

 (2)读取第二列的值

# 读取第二列全部值
data2 = data.loc[ : ,"B"]

结果:

(3)同时读取某行某列

# 读取第1行,第B列对应的值
data3 = data.loc[ 1, "B"]

结果:

(4)读取DataFrame的某个区域

# 读取第1行到第3行,第B列到第D列这个区域内的值
data4 = data.loc[ 1:3, "B":"D"]

结果:

(5)根据条件读取

# 读取第B列中大于6的值
data5 = data.loc[ data.B > 6] #等价于 data5 = data[data.B > 6]

结果:

(6)也可以进行切片操作

# 进行切片操作,选择B,C,D,E四列区域内,B列大于6的值
data1 = data.loc[ data.B >6, ["B","C","D","E"]]

结果:

2.iloc方法

iloc方法是通过索引行、列的索引位置[index, columns]来寻找值

(1)读取第二行的值

# 读取第二行的值,与loc方法一样
 
data1 = data.iloc[1]
 
# data1 = data.iloc[1, :],效果与上面相同

结果:

(2)读取第二列的值

# 读取第二列的值
data1 = data.iloc[:, 1]

结果:

(3)同时读取某行某列

# 读取第二行,第二列的值
data1 = data.iloc[1, 1]

结果:

(4)进行切片操作

# 按index和columns进行切片操作
# 读取第2、3行,第3、4列
data1 = data.iloc[1:3, 2:4]

结果:

注意:

这里的区间是左闭右开,data.iloc[1:3, 2:4]中的第4行、第5列取不到

补充:利用loc、iloc提取所有数据

In[8]:data.loc[:,:] #取A,B,C,D列的所有行
Out[8]: 
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
 
In[9]:data.iloc[:,:] #取第0,1,2,3列的所有行
Out[9]: 
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15

利用loc函数,根据某个数据来提取数据所在的行

In[10]: data.loc[data['A']==0] #提取data数据(筛选条件: A列中数字为0所在的行数据)
Out[10]: 
   A  B  C  D
a  0  1  2  3

总结 

到此这篇关于利用Pandas读取某列某行数据之loc和iloc用法的文章就介绍到这了,更多相关Pandas读取列行数据之loc和iloc内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 只用50行Python代码爬取网络美女高清图片

    只用50行Python代码爬取网络美女高清图片

    第一次写文章,技术不成熟之处望各位大神轻喷,今天教大家只用50行Python代码爬取网络美女图片是怎么操作的,文中有非常详细的代码示例,对正在学习python的小伙伴们很有帮助哦,需要的朋友可以参考下
    2021-06-06
  • python中opencv图像叠加、图像融合、按位操作的具体实现

    python中opencv图像叠加、图像融合、按位操作的具体实现

    opencv图像操作可以更好更快的方便我们处理图片,本文主要介绍了图像叠加、图像融合、按位操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • python 返回列表中某个值的索引方法

    python 返回列表中某个值的索引方法

    今天小编就为大家分享一篇python 返回列表中某个值的索引方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python实现MongoDB的双活示例

    python实现MongoDB的双活示例

    本文主要介绍了python实现MongoDB的双活示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python批量制作雷达图的实现方法

    python批量制作雷达图的实现方法

    本文通过实例代码介绍了如何用python批量制作雷达图的实现方法,下面一起来看看如何实现的。
    2016-07-07
  • 详解Python多线程Selenium跨浏览器测试

    详解Python多线程Selenium跨浏览器测试

    本篇文章主要介绍了Python多线程Selenium跨浏览器测试,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • Python如何导出导入所有依赖包详解

    Python如何导出导入所有依赖包详解

    在Python中我们在项目中会用到各种库,自带的自然不必再说,这篇文章主要给大家介绍了关于Python如何导出导入所有依赖包的相关资料,需要的朋友可以参考下
    2021-06-06
  • python 百度aip实现文字识别的实现示例

    python 百度aip实现文字识别的实现示例

    百度aip将图片或扫描件中的文字识别成可编辑的文本,本文主要介绍了python 百度aip实现文字识别,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度

    Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度

    Matplotlib是Python提供的一个二维绘图库,所有类型的平面图,包括直方图、散点图、折线图、点图、热图以及其他各种类型,都能由Python制作出来。本文主要介绍了关于Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度的相关资料,需要的朋友可以参考下。
    2018-04-04
  • Python 中的装饰器实现函数的缓存(场景分析)

    Python 中的装饰器实现函数的缓存(场景分析)

    Python中的装饰器可以用于实现函数的缓存,其原理是在函数执行前,首先判断传入的参数是否在缓存中已经存在对应的计算结果,这篇文章主要介绍了Python 中的装饰器可以用于实现函数的缓存,需要的朋友可以参考下
    2023-02-02

最新评论