pandas中.loc和.iloc以及.at和.iat的区别说明

 更新时间:2021年04月07日 10:15:01   作者:Yale曼陀罗  
这篇文章主要介绍了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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • python实现烟花小程序

    python实现烟花小程序

    这篇文章主要为大家详细介绍了python实现烟花小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • 基于opencv实现手势控制音量(案例详解)

    基于opencv实现手势控制音量(案例详解)

    这篇文章主要介绍了基于opencv的手势控制音量和ai换脸,通过定义了一个名为 handDetector 的类,用于检测和跟踪手部,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • 使用Python操作MySQL数据库的教程详解

    使用Python操作MySQL数据库的教程详解

    在这篇文章中,主要为大家详细介绍如何在Python中使用pymysql模块来操作MySQL数据库,文中的示例代码简介易懂,需要的小伙伴可以跟随小编一起学习一下
    2023-07-07
  • python实现跳表SkipList的示例代码

    python实现跳表SkipList的示例代码

    这篇文章主要介绍了python实现跳表SkipList的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • Python实现轻松找出文本文件中的高频单词

    Python实现轻松找出文本文件中的高频单词

    当想要深入了解一段文本,最常见的需求之一就是找到其中出现频率最高的单词,下面小编就来为大家详细介绍一下如何使用Python实现轻松找出文本文件中的高频单词,需要的可以参考下
    2023-11-11
  • 使用Python实现 学生学籍管理系统

    使用Python实现 学生学籍管理系统

    这篇文章主要介绍了使用Python实现 学生学籍管理系统,代码大致分为五个函数组成,具体内容详情本文给大家介绍的非常详细,需要的朋友可以参考下
    2019-11-11
  • Python脚本读取Consul配置信息的方法示例

    Python脚本读取Consul配置信息的方法示例

    本文主要介绍了Python脚本读取Consul配置信息的方法示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • python编程线性回归代码示例

    python编程线性回归代码示例

    这篇文章主要介绍了python编程线性回归代码示例,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • Python数据分析之获取双色球历史信息的方法示例

    Python数据分析之获取双色球历史信息的方法示例

    这篇文章主要介绍了Python数据分析之获取双色球历史信息的方法,涉及Python网页抓取、正则匹配、文件读写及数值运算等相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • 关于pandas.date_range()的用法及说明

    关于pandas.date_range()的用法及说明

    这篇文章主要介绍了关于pandas.date_range()的用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论