pandas中.loc和.iloc以及.at和.iat的区别说明
作者:Yale曼陀罗 发布时间:2022-04-28 01:17:47
标签:pandas,loc,iloc,at,iat
显示索引和隐式索引
import pandas as pd
df = pd.DataFrame({'姓名':['张三','李四','王五'],'成绩':[85,59,76]})
传入冒号‘:',表示所有行或者列
显示索引:.loc,第一个参数为 index切片,第二个为 columns列名
df.loc[2] #index为2的记录,这里是王五的成绩。
df.loc[:,'姓名'] #第一个参数为冒号,表示所有行,这里是筛选姓名这列记录。
隐式索引:.iloc(integer_location), 只能传入整数。
df.iloc[:2,:] #张三和李四的成绩,跟列表切片一样,冒号左闭右开。
df.iloc[:,'成绩'] #输入中文,这里就报错了,只能使用整数。
也可以使用at定位到某个元素
语法规则:df.at[index,columns]
df.at[1,'成绩'] #使用索引标签,李四的成绩
df.iat[1,1] #类似于iloc使用隐式索引访问某个元素
补充:pandas快速定位某一列中存在某值的所有行,loc, at, ==对比
如下所示:
goodDiskName2016
from datetime import datetime
from time import time
直接方括号定位相等的列
start = time()
for disk in goodDiskName2016[:100]:
____ST4000DM000_2016_good_feature27[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]]
time()-start
消耗时间
82.93997383117676
直接loc定位相等的
start = time()
for disk in goodDiskName2016[:100]: ____ST4000DM000_2016_good_feature27.loc[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]]
time()-start
消耗时间:
82.4887466430664
先将这一列设置为index,然后通过loc查找
b = ST4000DM000_2016_good_feature27.set_index('serial_number')
start = time()
for disk in goodDiskName2016[:100]:
b.loc[disk][features27[0]]
time()-start
消耗时间:
25.706212759017944
设置为index后用at定位
start = time()
for disk in goodDiskName2016[:100]:
b.at[disk,features27[0]]
time()-start
消耗时间:
25.67607021331787
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/weixin_42782150/article/details/90764949
0
投稿
猜你喜欢
- 一、yield运行方式我们定义一个如下的生成器:def put_on(name): print("Hi {}, 货物来了,准备搬到
- 一.Pytorch虚拟环境简介Torch是一个用于深度学习的=数学计算库,而Pytorch则是一个基于Torch的Python机器学习库,可
- 本文实例讲述了python实现删除文件与目录的方法。分享给大家供大家参考。具体实现方法如下:os.remove(path)删除文件 path
- Microsoft SQL Server 2008将包含用于合并两个行集(rowset)数据的新句法。根据一个源数据表对另一个数据表进行确定
- 前言标准的 Bloom Filter 是一种比较简单的数据结构,只支持插入和查找两种操作。在所要表达的集合是静态集合的时候,标准 Bloom
- 平时写的一些 Python 的代码,需要在其他模块里面复用。最粗狂的方法就是直接 copy 过去。但这种方式太麻烦,copy 一堆代码,导致
- 1.尽量不要对列名进行函数处理。而是针对后面的值进行处理例如where col1 = -5的效率比where -col1=5的效率要高因为后
- 前言之前看到 RunCat 一只可以在电脑上奔跑猫,其主要的功能是监控电脑的CPU、内存的使用情况,使用越多跑的越快。所以准备做一只在任务栏
- sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分.处理命令行参数在解释器启动后, argv 列表包含了传递给脚本的
- 一、给定一个日期值,求出此日期所在星期的星期一和星期天的日期数据 例如给定一个日期 2010-09-01,求出它所在星期的星期一是2010-
- 1、环境PyCharmPython 3.6pip安装的依赖包包括:requests 2.25.0、urllib3 1.26.2、docx 0
- Python装饰器(decorator)是在程序开发中经常使用到的功能,合理使用装饰器,能让我们的程序如虎添翼。装饰器引入初期及问题诞生假如
- JavaScript中的定时器大家基本在平时的开发中都遇见过吧,但是又有多少人去深入的理解其中的原理呢?下面我们就来分析一下定时器的实现原理
- 我就废话不多说了,直接上代码吧!#!/usr/bin/env python# coding:UTF-8"""@
- 基于微信开放的个人号接口python库itchat,实现对微信好友的获取,并对省份、性别、微信签名做数据分析。效果:直接上代码,建三个空文本
- 本教程旨在介绍如何使用七牛的Python SDK来快速地进行文件上传,下载,处理,管理等工作。安装首先,要使用Python的SDK必须要先安
- 持久化文件读写:f=open('info.txt','a+')f.seek(0)str1=f.read()i
- 守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控。此类程序会被以进程的形式初始
- 在操作过程中,两表查询都没有问题,但是三表查询就开始出现问题有以下三张表,分表为pl表(uid,content),user表(id,user
- 1、使用基础Python代码来读写和处理CSV文件import sys#使用基础Python代码来读写和处理CSV文件input_file