首页 > 编程语言 >Python:Pandas中df.iloc和df.loc区别

Python:Pandas中df.iloc和df.loc区别

时间:2023-11-17 19:01:06浏览次数:34  
标签:loc Python 行号 df 选择 索引 iloc 数据

1 df.iloc

官方文档中定义为“基于整数位置的索引,用于按位置选择。”

df.iloc就是只根据行列号对数据进行切片或选择。当作数组取数就行。

df.iloc [ raw , col ]:第一个参数raw表示行选,第二个参数表示列选,都必须是整数。

import pandas as pd
mydict = [{'a' : 1, 'b': 2, 'd' : 4},
        {'a': 100, 'b':200, 'd':400},
        {'a':1000, 'b':2000,'d':4000}]
df = pd.DataFrame(mydict)
df

Python:Pandas中df.iloc和df.loc区别_Pandas


1.1 按行索引

1.1.1 整数作为索引

df.iloc[n],表示查找第n行

df.iloc[0]

Python:Pandas中df.iloc和df.loc区别_Pandas_02

1.1.2 列表作为索引

查找列表中数字对应行号的数据,如,当输入[0,2]时,对应查找行号为0和2的数据,而不是0到2行

df.iloc[[0,2]]

Python:Pandas中df.iloc和df.loc区别_iloc_03

1.1.3 切片作为索引

进行多行数据查找(左闭右开区间)

df.iloc[:2]#选择前两行数据

Python:Pandas中df.iloc和df.loc区别_Pandas_04

df.iloc[1:3]

Python:Pandas中df.iloc和df.loc区别_iloc_05

1.1.4 布尔类型数据作为索引

需保持布尔类型数据与原数据数目一致,True代表选择,False代表不选择

df.iloc[[True, False, True]]#选择了第一行和第三行数据

Python:Pandas中df.iloc和df.loc区别_iloc_06

1.1.5 表达式作为索引


df.iloc[lambda x: x.index % 2 == 0]

Python:Pandas中df.iloc和df.loc区别_iloc_07

1.2 同时规定行和列进行索引

与只按行索引类似,也有五种方式,在行和列之间添加“”分别规定行列索引范围。

df.iloc[0, 1]#选择行号=0,列号=1的数据

Python:Pandas中df.iloc和df.loc区别_python_08

df.iloc[[0, 2], [1, 2]]#选择行号为0和2,列号为1和2的数据

Python:Pandas中df.iloc和df.loc区别_Pandas_09

df.iloc[1:3, 0:3]#选择行号为1-2,列号为0-2的数据,注意切片范围为左闭右开

Python:Pandas中df.iloc和df.loc区别_python_10

df.iloc[:, [True, False, False]]#行号全选,选择第1列数据

Python:Pandas中df.iloc和df.loc区别_python_11

df.iloc[:, lambda df: [0, 2]]#选择dataframe的第1列与第3列

Python:Pandas中df.iloc和df.loc区别_python_12

2 df.loc

loc按照标签或者索引、布尔值或者条件进行选择数据。

df.loc [ raw , col ]:第一个参数raw表示行选,行选只能是整数;后面的参数表示列选,列选只能是索引名称,比如姓名、年龄之类的

import pandas as pd
mydict = [{'a' : 1, 'b': 2, 'd' : 4},
        {'a': 100, 'b':200, 'd':400},
        {'a':1000, 'b':2000,'d':4000}]
df = pd.DataFrame(mydict)
df

Python:Pandas中df.iloc和df.loc区别_iloc_13

df.loc[:,'b']#取出列标签为'b'的一列

Python:Pandas中df.iloc和df.loc区别_Pandas_14

df.loc[0:1,'b']#取出标签为'b'的第0行和第1行,左闭右闭区间

Python:Pandas中df.iloc和df.loc区别_Pandas_15

标签:loc,Python,行号,df,选择,索引,iloc,数据
From: https://blog.51cto.com/u_14355911/8452286

相关文章

  • sqlserver数据库中的mdf文件太大,表空间分析和表空间释放
    原文地址:https://tool.4xseo.com/a/8890.html查询数据库的大小:EXECsp_spaceused为了保证查询结果的实时性,推荐使用@updateusage参数来确保统计数据是最新的:EXECsp_spaceused@updateusage=N'TRUE';具体查询某个表的大小:EXECsp_spaceused't_table'分析查询数......
  • python实现socket端口监听
    #服务端importsocketip_port=('127.0.0.1',1234)sk=socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)sk.bind(ip_port)whileTrue:data=sk.recv(1024).strip().decode()print(data)ifdata=="exit":print(&qu......
  • 基于python的影片数据爬取与数据分析-计算机毕业设计源码+LW文档
    摘 要快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,通过线上管理影片数据爬取与数据分析也就相继涌现。与此同时,人们开始接受方便的生活方式。他们不仅希望页面简单大方,还希望操作方......
  • python包管理pip常用
    python包管理pip常用 1、pip安装包指定源pipinstall[package]-ihttps://pypi.douban.com/simple 2、pip常用命令 Commandspip常用Commands install  Installpackages download  Downloadpackagesuninstall Uninstallpackagesfreeze Ou......
  • 源码安装Python
    本文使用的Linux发行版本为AlmaLinux9.264位(CentOS停止更新后的完美替代发行版本)。本文安装的Python版本为3.12.0,其他版本方法类似。准备工作更新系统。dnf-yupdate安装Python前,需确认当前系统是否已安装Python以及对应版本。不建议卸载原有Python版本,可能被应用......
  • 源码安装Python
    本文使用的Linux发行版本为AlmaLinux9.264位(CentOS停止更新后的完美替代发行版本)。本文安装的Python版本为3.12.0,其他版本方法类似。准备工作更新系统。dnf-yupdate安装Python前,需确认当前系统是否已安装Python以及对应版本。不建议卸载原有Python版本,可能被应用......
  • python 数据类型判断
    python数据类型判断#encoding=utf-8l=[1,2,"s",[1,23],{1:2},(1,2),set([1,2]),"b",-2]d={"int":0,"str":0,"list":0,"tuple":0,"set":0,"dict":0,"complex":0}   #先用字典定义列表中......
  • python 目录操作
    __author__='Administrator'#_*_coding:UTF-8_*_#@Createbygengyu#@CreateTime:2021/12/4#@File_name:exists#wn.run/https://importos,sys,pathlibimportglobimportshutil'''thisis__doc__'''def......
  • 测试某个python库是否正常导入
    我这里的测试代码:python-c"importmagenta"出现错误:/Users/ghj1976/opt/anaconda3/envs/magenta/lib/python3.7/site-packages/librosa/util/decorators.py:9:NumbaDeprecationWarning:Animportwasrequestedfromamodulethathasmovedlocation.Importrequested......
  • python装饰器
    装饰器概念:可以在不修改原来代码的情况下(函数原有的功能或者类原有的功能),为需要被装饰的函数或者类增加新的功能或者添加限制调剂以及帮助输出常用种类函数的装饰器类的装饰器不管是哪种类型的装饰器设计模式原则是:开放封闭的原则(对外扩展开发,对内关闭修改)1.1装饰器的定......