python pandas中索引函数loc和iloc的区别分析
作者:hanyunkaka 发布时间:2021-08-31 21:44:21
标签:pandas,索引函数,loc
前言
使用pandas进行数据分析的时候,我们经常需要对DataFrame的行或者列进行索引。使用pandas进行索引的方法主要有三种:直接使用行或者列标签、loc函数和iloc函数。
举个简单的例子:
import numpy as np
import pandas as pd
df = pd.DataFrame({"Fruits":["apple","pear","banana","watermelon"],"Price":[1.2,1.4,2.3,4.2],"Sales":[11,45,25,16]})
df
生成的DataFrame如下所示:
Fruits | Price | Sales | |
0 | apple | 1.2 | 11 |
1 | pear | 1.4 | 45 |
2 | banana | 2.3 | 25 |
3 | watermelon | 4.2 | 16 |
1、直接使用行或者列标签
假如我们要选取df的Fruits和Price两列,则
df[['Fruits','Price']]
Fruits | Price | |
0 | apple | 1.2 |
1 | pear | 1.4 |
2 | banana | 2.3 |
3 | watermelon | 4.2 |
假如我们要选取df的第2、3行,则
df[2:4]
Fruits | Price | Sales | |
2 | banana | 2.3 | 25 |
3 | watermelon | 4.2 | 16 |
2、loc函数
loc函数是基于行标签和列标签进行索引的,其基本用法为:
DataFrame.loc[行标签,列标签]
假如我们要选取df的第2、3行和Price、Sales对应的列,则
df[2:3,'Price':'Sales']
Price | Sales | |
2 | 2.3 | 25 |
3 | 4.2 | 16 |
假如我们要选取所有的行和Fruits、Sales对应的列,则
df.loc[:,['Fruits','Sales']]
Fruits | Sales | |
0 | apple | 11 |
1 | pear | 45 |
2 | banana | 25 |
3 | watermelon | 16 |
3、iloc函数
iloc函数是基于行和列的位置进行索引的,索引值从0开始,并且得到的结果不包括最后一个位置的值,其基本用法为:
DataFrame.iloc[行位置,列位置]
假如我们要选取df的第2、3行和第1、2列,则
df.iloc[2:4,1:3]
Price | Sales | |
2 | 2.3 | 25 |
3 | 4.2 | 16 |
假如我们要选取所有的行和第0、2列,则
df.iloc[:,[0,2]]
Fruits | Sales | |
0 | apple | 11 |
1 | pear | 45 |
2 | banana | 25 |
3 | watermelon | 16 |
来源:https://blog.csdn.net/hanyunkaka/article/details/120470899
0
投稿
猜你喜欢
- Python遍历numpy数组下面是示例代码:import numpy as npnum = np.zeros([2, 3])[rows,
- 本文实例讲述了php简单实现批量上传图片的方法。分享给大家供大家参考,具体如下:<?phpfunction upload_multi(
- 1.变量命名1)命名的规范性变量名可以包括字母、数字、下划线,但是数字不能做为开头。系统关键字不能做变量名使用除了下划线之个,其它符号不能做
- Python编程语言判断是否是目录在Python编程语言中可以使用os.path.isdir()函数判断某一路径是否为目录。其函数原型如下所
- 本文实例讲述了Python实现账号密码输错三次即锁定功能。分享给大家供大家参考,具体如下:初学Python—1#实现账号输错三次即锁定use
- 多线程锁lock=threading.Lock()使用疑问多线程任务是同时执行的,如果我们需要先执行线程a,再执行线程b,需要怎么办呢?解决
- 启动sql server Net Start MSSqlServer 暂停sql server Net Pause MSSqlServer
- 公司一个项目需要上传图片,一开始同事将图片上传后结合当前主机拼成了一个绝对的URL(http://192.168.1.1:888/m/get
- Python中pack()方法#Copyright (c)2017, 东北大学软件学院学生# All rightsreserved#文件名称
- 本文我们来做一个简单的随机漫步数据图,进一步了解matplotlib的使用,使用Python生成随机漫步数据,再使用matplotlib绘制
- 编写 models.py 文件from django.db import models# Create your models here.c
- 1、之前那个说淘宝交易评价“有问题”的文章已经有了一百多个评论。(某些开口就骂的评论已被删除)近期去评论的人都是从搜索引擎过来的,他们不是产
- PyQtGraph是纯Python的,只是它底层调用的是PyQt,也就是Qt的Python封装,底层用C/C++语言开发的库,它是在PyQt
- 非常不错,大家可以自己应用下。<% '//数据处理部分 dim Content,Num,I,st
- Django分页功能的实现打开命令行窗口,创建Django工程,使用以下命令:django-admin startproject djpag
- 穿过云朵升一级是要花6个金币的,有的时候金币真的很重要前言嗨喽,大家好呀!这里是魔王~一天晚上,天空中掉下一颗神奇的豌豆种子,正好落在了梦之
- 一般我们是利用Session对象来防止通过“刷新”增加计数器的访问量的,看看下面的做法;<%If IsEmpty(Sessi
- 本文实例总结了PHP中非常有用却鲜有人知的函数。分享给大家供大家参考,具体如下:PHP里有非常丰富的内置函数,很多我们都用过,但仍有很多的函
- 周末出去爬山,照了一大堆照片回来,照片同时存储为jpg和DNG格式,我用adobe bridge将dng格式的照片中要保留的筛选出来后,就不
- 如果直接在命令行中利用input和raw_input读入一个文件来处理,并且想要采用直接将文件拖入命令行来处理的方式,input方法可以直接