Pandas中df.loc[]与df.iloc[]的用法与异同 

 更新时间:2022年07月25日 09:32:19   作者:三头六臂的小白  
本文主要介绍了Pandas中df.loc[]与df.iloc[]的用法与异同,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 

官网资料:

loc  :https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html
iloc  : https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html

用 途:

  • 取数: 从dataframe中取 一部分行与列的数据 (为主)
  • 赋值: 给指定的 行与列赋值 df.loc[xx,xx] = xx

输入参数注意:

方括号内的参数:

  • loc、iloc 方括号中,参数的排布模式为[行条件,列条件],当总体条件只有一个时候(最外层方括号内无逗号),会按照:先行后列的方法来匹配对应的条件
  • 默认会抛弃掉对应的dataframe格式,输出series,如果想保留dataframe格式,需要在条件外边加 ”[ ]”。

loc与iloc条件(行/列)相同之处:

  • 单一元素(不包含list) str/int/slice 选取行时候,选取的是对应条件下的行 (series)
  • 单一元素(不包含list) str/int/slice 选取列时候,选取的是对应条件下的列(series)
  • 条件为list时候,选取的是一组对应的 行(列) 条件下的(dataframe数据)
  • 布尔值的list/可与df对齐的series(布尔类型): 与index长度相同的话 选择对应值为True的行,与列数相同的话,选取对应值为True 的列。
  • df的index的子集index2: 选取df中对应的index2的行
  • 函数:输入为行/列series(外层有逗号)或者dataframe(外层无括号) 返回为对应输入的一个布尔值表,用来筛选对应的数据。

不同之处:

  • 当对应的行/列标签为 int类型x时候,iloc表示对应的第x个 index或column,而loc 表示对应的index /column名称等于这个x。
  • 对应的开闭区间不同  df.loc[1:5,1:5] 会有一个最多 5x5的df数据子集,而df.iloc[1:5,1:5] 会有最多4x4df数据子集,其中iloc的行/列切片不包含最后一个数(与range函数类似)

loc与iloc 实际用例:

df = pd.DataFrame([[1, 2,3,14], [4, 5,6,17], [7, 8,9,10],[11,12,13,14]],
     index=[2,3,4,5],
     columns=[2,4,5,6])
  
# loc 行/列条件是对应的标签值在对应的范围内,[闭合,闭合] 区间
df.loc[2:5,2:5]
#   输出为:
#    2    4    5
#2    1    2    3
#3    4    5    6
#4    7    8    9
#5    11    12    13
 
# 选取index 为 2 的行里面的值
# 不推荐:df.loc[2] 下文省略
df.loc[2,:]
# 输出为  1,2,3,14 series类型
 
# 选取index 为 2 的行 保留dataframe类型
df.loc[[2],:] 
 
#选取对应列名为 2 的列
df.loc[:,2] 
# 这里 index 与 列名都是int类型,因此loc方括号中使用int类型,如果是其他类型,对应的数字要改成其他类型的数据,不能再用数字
 
# iloc 行/列条件是对应的标签或者列名的索引值在范围内,[闭合,开放) 区间
df.iloc[2:5,2:5]
# 输出为 
#    5     6
#4     9     10
#5     13     14
 
# 这里 索引是以0开始的,所有行的切片应该写作 0:5  也可以写作“ :”
# iloc 数字类型来做筛选的
 
# 不管是loc 还是 iloc 都建议用[行条件,列条件] 来写,其中如果无需筛选可以用:来占位,表意明确。
# loc 匹配的是 index/列名的值 与对应的条件
# iloc 匹配的是 index/列名对应的索引号 与对应的条件

 到此这篇关于Pandas中df.loc[]与df.iloc[]的用法与异同 的文章就介绍到这了,更多相关Pandas df.loc[]与df.iloc[]内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用python批量给云主机配置安全组的方法教程

    利用python批量给云主机配置安全组的方法教程

    这篇文章主要给大家介绍了利用python批量给云主机配置安全组的方法教程,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • Python办公自动化之自动化清理数据和自动化系统命令详解

    Python办公自动化之自动化清理数据和自动化系统命令详解

    这篇文章主要为大家详细介绍了Python办公自动化中自动化清理数据和自动化系统命令的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2024-01-01
  • 详解Django 中是否使用时区的区别

    详解Django 中是否使用时区的区别

    本篇文章主要介绍了详解Django 中是否使用时区的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 一篇文章告诉你如何用Python控制Excel实现自动化办公

    一篇文章告诉你如何用Python控制Excel实现自动化办公

    这篇文章主要介绍了教你怎么用Python处理excel实现自动化办公,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-08-08
  • 数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法

    数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法

    今天小编就为大家分享一篇数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python根据指定文件生成XML的方法

    Python根据指定文件生成XML的方法

    这篇文章主要介绍了Python根据指定文件生成XML的方法,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 对Python实现简单的API接口实例讲解

    对Python实现简单的API接口实例讲解

    今天小编就为大家分享一篇对Python实现简单的API接口实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Flask 使用类组织配置详情

    Flask 使用类组织配置详情

    这篇文章主要介绍了Flask使用类组织配置,在实际的项目中,我们一般都会建立三个环境:开发、测试和生产环境,这三种环境会使用不同的配置组合,为了能方便地切换配置,我们可以为不同的环境创建不同的配置文件,下面来看详细内容,需要的朋友可以参考一下
    2021-11-11
  • 详解opencv去除背景算法的方法比较

    详解opencv去除背景算法的方法比较

    本文主要介绍了opencv去除背景算法的方法比较,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Scrapy基于scrapy_redis实现分布式爬虫部署的示例

    Scrapy基于scrapy_redis实现分布式爬虫部署的示例

    这篇文章主要介绍了Scrapy基于scrapy_redis实现分布式爬虫部署的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论