当前位置: 首页 > news >正文

【python数据分析基础】—pandas中loc()与iloc()的介绍与区别

文章目录

  • 前言
  • 一、loc[]函数
  • 二、iloc[]函数
  • 三、详细用法
    • loc方法
    • iloc方法
  • 总结
    • 共同点
    • 不同点


前言

我们经常在寻找数据的某行或者某列的时常用到Pandas中的两种方法iloc和loc,两种方法都接收两个参数,第一个参数是行的范围,第二个参数是列的范围。

一、loc[]函数

  • loc:
    • 接收的是行、列的名称或标签
    • 在切片是按闭区间切片,也就是区间两边都能取到。

二、iloc[]函数

  • iloc:
    • 接收的是行、列的索引位置(下标,从0开始)。
    • 按传统的左闭右开的的方式切片。

三、详细用法

创建用于测试的数据表dataframe:

import pandas as pd
data={'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],'year':[2000,2001,2002,2001,2002],'pop':[1.5,1.7,3.6,2.4,2.9]}frame=pd.DataFrame(data)
frame.index=list('abcde') 
frame

在这里插入图片描述

loc方法

  • 1、单个行名/列名 或 行名/列名的列表

要求:读取第2行,行名为’b’。

frame.loc['b']

在这里插入图片描述

注意: 上面这种写法,运行"print(type(frame.loc[‘b’]))"可以知道返回的是<class ‘pandas.core.series.Series’>对象,如果要<class ‘pandas.core.frame.DataFrame’>对象可以改成frame.loc[[‘b’]]。

frame.loc[['b']]

在这里插入图片描述
要求:取第1、2列的第2与第5行,第1、2列的列名分别为’state’与’year’,第2、5行的行名分别为’b’和’e’。

frame.loc[['b','e'],['state','year']]

在这里插入图片描述

  • 2、列名/行名的切片

要求:读取第2列,列名为’year’。

frame.loc[:,'year']  #返回的是<class 'pandas.core.series.Series'>对象。

在这里插入图片描述

frame.loc[:,['year']] #返回的是<class 'pandas.core.frame.DataFrame'>对象。

在这里插入图片描述

要求:取第2行第3列,第2行行名为’b’,第3列列名为’pop’。

frame.loc['b','pop']

在这里插入图片描述

要求:读取dataframe某个区域,比如第3列的第2到第5行,第3列为"pop"列,第2到第5行即b行到e行。

frame.loc['b':'e','pop'] #返回的是<class 'pandas.core.series.Series'>对象。

在这里插入图片描述

frame.loc['b':'e',['pop']] #返回的是<class 'pandas.core.frame.DataFrame'>对象。

在这里插入图片描述

要求:取第1、2列的第2到第5行,第1、2列的列名分别为’state’和’yea‘列,第2、5行的行名为’b’和‘e’行。

frame.loc['b':'e','state':'year'] #返回的是<class 'pandas.core.frame.DataFrame'>对象。

在这里插入图片描述

  • 3、返回布尔型列表的表达式(判断或函数)

要求:根据判断条件读取,取第3列大于2的。

frame.loc[frame['pop']>2,'pop'] #返回的是<class 'pandas.core.series.Series'>对象。

在这里插入图片描述

frame.loc[frame['pop']>2,['pop']] #返回的是<class 'pandas.core.frame.DataFrame'>对象。

在这里插入图片描述

要求:根据函数读取,取第3列大于2的所有行与列。

frame.loc[lambda x: x['pop']>2]

在这里插入图片描述

iloc方法

  • 1、单个下标 或 若干下标构成的列表,从0开始。

要求:取第2行的值。

frame.iloc[1] 

在这里插入图片描述
注意: 上面这种写法,运行"print(type(frame.iloc[1]]))"可以知道返回的是<class ‘pandas.core.series.Series’>对象,如果要<class ‘pandas.core.frame.DataFrame’>对象可以改成frame.iloc[[1]]。

frame.iloc[[1]]

在这里插入图片描述
要求:取第1、2列的第2与第5行。

frame.iloc[[1,4],[0,1]]

在这里插入图片描述

  • 2、下标的切片

要求:取第2列的值。

frame.iloc[:,1] #返回的是<class 'pandas.core.series.Series'>对象。

在这里插入图片描述

frame.iloc[:,[1]]  #返回的是<class 'pandas.core.frame.DataFrame'>对象。

在这里插入图片描述

要求:取第2行第3列

frame.iloc[1,2]

在这里插入图片描述

要求:读取dataframe某个区域,比如第3列的第2到第5行。

frame.iloc[1:5,2]  #返回的是<class 'pandas.core.series.Series'>对象。

在这里插入图片描述

frame.iloc[1:5,[2]] #返回的是<class 'pandas.core.frame.DataFrame'>对象。

在这里插入图片描述

要求:取第1、2列的第2到第5行。

frame.iloc[1:5,0:2] #因为是.iloc[]中用:表示从第几行/列到第几行/列是左闭右开的的方式,因此这里下标3表示第四行与第四列是取不到的。frame.iloc[[1,2,3,4],[0,1]] #第二种写法

在这里插入图片描述

  • 3、可以返回合理值的函数

要求:当DataFrame的index是整数,取index为偶数的记录。

import pandas as pd
data={'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],'year':[2000,2001,2002,2001,2002],'pop':[1.5,1.7,3.6,2.4,2.9]}frame=pd.DataFrame(data)
frameframe.iloc[lambda x: x.index % 2 == 0]

在这里插入图片描述


总结

共同点

  • 两者都接收两个参数,第一个参数是行的范围,第二个参数是列的范围。
  • 两者都可以有行索引值没有列索引值,但有列索引值前必须得有行索引值,但loc[]行索引值只能为名称形式来取,不能按下标形式来取。iloc[]则相反。

取第三列,无论使用loc[]函数还是iloc[]函数,如果没有行索引都会报错。

frame.loc['pop']
frame.loc[,'pop']
frame.iloc[,3]

不同点

  • 1、loc[]函数接收的是行/列的名称(可以是整数或者字符),iloc[]函数接收的是行/列的下标(从0开始),不能是字符。

  • 2、loc[]函数在切片时是按闭区间切片的,也就是区间两边都能取到,iloc[]函数则是按传统的左闭右开的方式切片的。


参考文章:
https://blog.csdn.net/weixin_43298886/article/details/112632237
https://blog.csdn.net/Leon_Kbl/article/details/97492966

相关文章:

【python数据分析基础】—pandas中loc()与iloc()的介绍与区别

文章目录 前言一、loc[]函数二、iloc[]函数三、详细用法loc方法iloc方法 总结共同点不同点 前言 我们经常在寻找数据的某行或者某列的时常用到Pandas中的两种方法iloc和loc&#xff0c;两种方法都接收两个参数&#xff0c;第一个参数是行的范围&#xff0c;第二个参数是列的范…...

ad18学习笔记十一:显示和隐藏网络、铺铜

如何显示和隐藏网络&#xff1f; Altium Designer--如何快速查看PCB网络布线_ad原理图查看某一网络的走线_辉_0527的博客-CSDN博客 AD19(Altium Designer)如何显示和隐藏网络 如何显示和隐藏铺铜&#xff1f; Altium Designer 20在PCB中显示或隐藏每层铺铜-百度经验 AD打开与…...

全国职业技能大赛云计算--高职组赛题卷④(私有云)

全国职业技能大赛云计算--高职组赛题卷④&#xff08;私有云&#xff09; 第一场次题目&#xff1a;OpenStack平台部署与运维任务1 基础运维任务&#xff08;5分&#xff09;任务3 OpenStack云平台运维&#xff08;15分&#xff09;任务4 OpenStack云平台运维开发&#xff08;1…...

Camera Tunning ISP 模块面试总结

一.ISP的调试流程概述&#xff1a; 在ISP调试流程中&#xff0c;我们首先需要确认以下三个方面&#xff1a;项目需求、硬件问题确认和Sensor驱动配置确认。 项目需求方面&#xff0c;即Sensor需要出多大的分辨率去调效果&#xff1b;因为有些芯片有最大分辨率支持的限制&#x…...

AOSP源码中Android.mk文件中的反斜杠符号(\)的作用和使用

简介 在AOSP&#xff08;Android Open Source Project&#xff09;源码中的Android.mk文件中&#xff0c;反斜杠符号&#xff08;\&#xff09;的主要作用是将一行代码拆分成多行&#xff0c;以提高可读性并帮助组织较长的代码块。这对于定义复杂的构建规则和变量时特别有用。…...

如何查看mysql的存储引擎

要查看MySQL中的存储引擎&#xff0c;可以使用以下两种方法&#xff1a; 1. 使用 SQL 查询&#xff1a; 您可以使用SQL查询来查看MySQL中的存储引擎。打开MySQL客户端&#xff0c;并连接到您的MySQL服务器&#xff0c;然后运行以下SQL查询&#xff1a; SHOW TABLE STATUS;这…...

FPGA project : dht11 温湿度传感器

没有硬件&#xff0c;过几天上板测试。 module dht11(input wire sys_clk ,input wire sys_rst_n ,input wire key ,inout wire dht11 ,output wire ds ,output wire …...

std::string和QString的区别以及互转

一 区别 1.字符编码支持 std::string&#xff1a;默认情况下&#xff0c;使用 ASCII 或 UTF-8 编码。不直接提供对多字节字符的内置支持。 QString&#xff1a;提供对多种字符编码的支持&#xff0c;包括 ASCII、UTF-8、UTF-16 等。它更适合处理国际化和本地化的字符串。 2.…...

python+vue理发店管理系统

理发店管理系统主要实现角色有管理员和会员,管理员在后台管理用户表模块、token表模块、收藏表模块、商品分类模块、热卖商品模块、活动公告模块、留言反馈模块、理发师模块、会员卡模块、会员充值模块、会员模块、服务预约模块、服务项目模块、服务类别模块、热卖商品评论表模…...

基于微信小程序的个人健康管理系统的设计与实现(源码+lw+部署文档+讲解等)

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…...

共聚焦显微镜在化学机械抛光课题研究中的应用

两个物体表面相互接触即会产生相互作用力&#xff0c;研究具有相对运动的相互作用表面间的摩擦、润滑与磨损及其三者之间关系即为摩擦学&#xff0c;目前摩擦学已涵盖了化学机械抛光、生物摩擦、流体摩擦等多个细分研究方向&#xff0c;其研究的数值量级也涵盖了亚纳米到百微米…...

本地Linux 部署 Dashy 并远程访问

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 转载自cpolar极点云文章&#xff1a;本地Linux 部署 Dashy 并远程访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你…...

互联网摸鱼日报(2023-09-18)

互联网摸鱼日报(2023-09-18) 36氪新闻 最前线 | 号外电摩12.68万元起订&#xff0c;配16.9度一体压铸电池包 本周双碳大事&#xff1a;CCER交易管理办法获生态环境部原则通过&#xff1b;明阳斥资100亿元加码光伏项目&#xff1b;“全路程”获2亿元D轮融资 200亿&#xff0c…...

Kotlin中函数的基本用法以及函数类型

函数的基本用法 1、函数的基本格式 2、函数的缺省值 可以为函数设置指定的初始值&#xff0c;而不必要传入值 private fun fix(name: String,age: Int 2){println(name age) }fun main(args: Array<String>) {fix("张三") }输出结果为&#xff1a;张三2 …...

在macOS使用VMware踩过的坑

目录 MAC提示将对您的电脑造成伤害/MAC OS 升级到10.15.3后vmware虚拟机黑屏 mac系统下&#xff0c;vm虚拟机提示打不开/dev/vmmon mac VMware Workstation 在此主机上不支持嵌套虚拟化 mac VMware清理虚拟机空间​​​​​​​ MAC提示将对您的电脑造成伤害/MAC OS 升级到…...

构建健壮的Spring MVC应用:JSON响应与异常处理

目录 1. 引言 2. JSON 1. 轻量级和可读性 2. 易于编写和解析 3. 自描述性 4. 支持多种数据类型 5. 平台无关性 6. 易于集成 7. 社区支持和标准化 3. 高效处理异常 综合案例 异常处理方式一 异常处理方式二 异常处理方式三 1. 引言 探讨Spring MVC中关键的JSON数据…...

那些配置服务器踩的坑

最近在配置内网&#xff0c;无外网的服务器&#xff0c;纯纯记录一下踩得坑&#xff0c;希望看到的人不要再走这条弯路。 ------------------------------------------------------------------------------------------------------------------------------- 任务&#xff…...

交换机端口镜像详解

交换机端口镜像是一种网络监控技术&#xff0c;它允许将一个或多个交换机端口的网络流量复制并重定向到另一个端口上&#xff0c;以便进行流量监测、分析和记录。通过端口镜像&#xff0c;管理员可以实时查看特定端口上的流量&#xff0c;以进行网络故障排查、安全审计和性能优…...

Spring源码分析(三) IOC 之 createBean()和doCreateBean()

a、在createBean中又是主要做了什么事情&#xff1f; 完成bean得创建&#xff0c;填充属性、循环依赖 、aop等一系列过程 1、createBean() 在createBean中主要干了3件事情 1、解析class -> resolveBeanClass() 2、验证及准备覆盖的方法,lookup-method replace-method -> …...

【鸿蒙(HarmonyOS)】UI开发的两种范式:ArkTS、JS(以登录界面开发为例进行对比)

文章目录 一、引言1、开发环境2、整体架构图 二、认识ArkUI1、基本概念2、开发范式&#xff08;附&#xff1a;案例&#xff09;&#xff08;1&#xff09;ArkTS&#xff08;2&#xff09;JS 三、附件 一、引言 1、开发环境 之后关于HarmonyOS技术的分享&#xff0c;将会持续使…...

Flink中的批和流

批处理的特点是有界、持久、大量&#xff0c;非常适合需要访问全部记录才能完成的计算工作&#xff0c;一般用于离线统计。 流处理的特点是无界、实时, 无需针对整个数据集执行操作&#xff0c;而是对通过系统传输的每个数据项执行操作&#xff0c;一般用于实时统计。 而在Flin…...

【LeetCode-中等题】150. 逆波兰表达式求值

文章目录 题目方法一&#xff1a;栈 题目 方法一&#xff1a;栈 class Solution {public int evalRPN(String[] tokens) {Deque<Integer> deque new LinkedList<>();String rpn "-*/";//符号集 用来判断扫描的是否为运算符int sum 0;for(int i 0 ; i…...

搭建ELK+Filebead+zookeeper+kafka实验

部署 Zookeeper 集群 准备 3 台服务器做 Zookeeper 集群 192.168.10.17 192.168.10.21 192.168.10.22 1.安装前准备 关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 安装 JDK yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-…...

java专题练习(抢红包)

package 专题练习;import java.util.Random;public class grab_red_packet {/* 需求:直播抽奖,分别由{2,588,888,1000,10000}五个奖金,请用代码模拟抽奖,奖项出现顺序要随机且不重复打印效果:588元的奖金被抽出*///思路://1. 先用数组把奖金定义好//2. 用random方法给出随机数索…...

AVR 单片机 调试环境 JTAG MKII

注意 驱动 的厂家: 如果驱动备改变为其他厂家的驱动 就与 AVR Studio7不兼容 保证驱动选择正确是 能够使用硬件调试的关键 如果驱动不对&#xff0c;使用 USB驱动修改工具 修改 比如 UsbDriverTool.exe...

C++ - AVL树实现(下篇)- 调试小技巧

前言 本博客是 AVL树的下篇&#xff0c;上篇请看&#xff1a;C - AVL 树 介绍 和 实现 &#xff08;上篇&#xff09;_chihiro1122的博客-CSDN博客 上篇当中写插入操作&#xff0c;和其中涉及的 旋转等等细节&#xff0c;还有AVL树的大体框架。 调试小技巧 条件断点 在大项目…...

Mybatis懒加载

懒加载是什么&#xff1f; 按需加载所需内容&#xff0c;当调用到关联的数据时才与数据库交互否则不交互&#xff0c;能大大提高数据库性能&#xff0c;并不是所有场景下使用懒加载都能提高效率。 Mybatis懒加载&#xff1a;resultMap里面的association、collection有延迟加载功…...

DSOX3012A是德科技keysight DSOX3012A示波器

181/2461/8938是德科技DSOX3012A(安捷伦)示波器 是德科技DSOX3012A(安捷伦)是InfiniiVision 3000 X系列中的双通道型号。这款可升级示波器采用突破性技术设计&#xff0c;提供卓越的性能和功能。其独特的5仪器合一设计为相同的预算提供了更大的范围。 是德科技DSOX3012A示波器…...

基于网络表示学习的 新闻推荐算法研究与系统实现

摘要 第1章绪论 新闻推荐通常是利用用户的阅读行为和习惯、阅读选择和爱好等信息,为 用户推荐新闻内容。新闻推荐能够减少用户在数量庞大数据信息中获取信息的 时间消耗,从而能够缓解“信息过载[7]”的难题。以文本为内容的新闻,和商品、 电影、短视频等推荐系统相比,新闻推…...

<Altium Designer> 将.DSN文件导入并转换成SchDoc文件

目录 01 使用向导方式导入.DSN 02 消除Unique Identifiers Errors 03 文章总结 大家好&#xff0c;这里是程序员杰克。一名平平无奇的嵌入式软件工程师。 本文主要是总结和分享将OrCAD Capture画的原理图文件(.DSN)导入到Altium Designer&#xff0c;转换成对应的原理图文件…...

wordpress首页缓存/seo排名优化代理

在前面关于加密的文章中&#xff0c;讲到使用open62541自带的python脚本create_self-signed.py去生成证书和私匙&#xff0c;该脚本运行需要安装库netifaces pip3 install netifaces在Linux下可以正确安装和使用。但是在Windows上却没那么顺利&#xff0c;该库依赖cl.exe&…...

湿地公园网站开发招标/营销型网站建设步骤

momis home链接:http://www.geocities.jp/momi619jp/来自 “ ITPUB博客 ” &#xff0c;链接&#xff1a;http://blog.itpub.net/39335/viewspace-351259/&#xff0c;如需转载&#xff0c;请注明出处&#xff0c;否则将追究法律责任。 转载于:http://blog.itpub.net/39335/vi…...

永州网站开发公司/疫情最新资讯

AudioTrack可以读取网络上面的,这个需要后面去添加,涉及的东西太多了, 现在看看AudioRecord,查看API : http://developer.android.com/reference/android/media/AudioRecord.html <1> : AudioRecord构造函数: public AudioRecord (int audioSource, int sampleRateInHz,…...

口碑好的网站开发公司电话/深圳网络营销推广招聘网

1. 问题描述&#xff1a; 假设现在有两个自然数 A 和 B&#xff0c;S 是 A ^ B 的所有约数之和。请你求出 S mod 9901 的值是多少。 输入格式 在一行中输入用空格隔开的两个整数 A 和 B。 输出格式 输出一个整数&#xff0c;代表 S mod 9901 的值。 数据范围 0 ≤ A&…...

seo技术快速网站排名/最近的热点新闻

据前程无忧的网上调查显示&#xff0c;尽管“金三银四”和“金九银十”的说法仍然存在&#xff0c;但近年来跳槽一族对跳槽时机的掌握明显已经灵活多了&#xff1a;超过一半&#xff08;50.11%&#xff09;的求职者认为何时跳槽并不重要&#xff0c;机会成熟了随时都可以行动&a…...

公共资源交易网站建设方案/种子资源

PS&#xff1a;用代码画点这样写是为了跟后面的用鼠标画点线面区分出来画点drawPointGraphic: function () {//点有多种样式&#xff1a;一般的点&#xff0c;显示文字&#xff0c;显示图片//一般的点let wkt "POINT(113.566806 22.22445)";//样式//PS&#xff1a;其…...