【数据分析】数据筛选与访问行列元素3

访问元素

.loc属性可以通过传入index的值访问行数据。

.loc属性允许传入两个参数,分别是index的值columns的值,参数间用“逗号”隔开,这样便可以访问数据中的元素。

1. 访问单个元素

访问单个元素比较简单,只需要通过它的index和columns就可以进行定位。

访问单个元素,需要依次将它的index的值和columns的值传入.loc的中括号里,用“逗号”隔开。

格式:.loc[index的值,columns的值]

import pandas as pd

# 使用pd.read_csv()函数读取CSV文件

# 并通过参数index_col来指定"order_id"列为index

# 将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv", index_col="order_id")

# 使用print()和.loc属性输出data变量里:index为3515712,columns为"payment"对应的元素

print(data.loc[3515712,"payment"])

218378912

总结:访问变量data中的单个数据的格式是:data.loc[index的值,columns的值]

2. 访问多个元素

同理,如果想访问多个元素,我们只需要找到它们对应的index和columns即可。

如果想访问多个元素,我们可以使用.loc属性结合切片或列表进行访问,组合情况较多。

格式:.loc[index切片或列表,columns切片或列表]

import pandas as pd

# 使用pd.read_csv()函数读取CSV文件

# 并通过参数index_col来指定"order_id"列为index

# 将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv", index_col="order_id")

# 使用print()和.loc属性输出data变量里:index为3515712到3515714,columns为"payment"对应的元素

print(data.loc[3515712:3515714,"payment":"items_count"])

总结:

按照index的值访问行数据

访问DataFrame对象中的.loc属性可以按照index的值访问行数据。
1.访问某一行.loc[index的值]
2.访问连续某几行.loc[起点index的值:结束index的值]包含结束index这一行值
3.访问不连续某几行.loc[[第一个index的值,第二个index的值,...]]
4.访问单个元素.loc[index的值,columns的值]
5.访问多个元素.loc[index切片或列表,columns切片或列表]

上面,用.loc属性和index的值访问行数据。

其实,除了通过index的值去定位,我们还可以通过"第几行"去定位行数据。下面,通过学习.iloc属性和行数据的位置来访问行数据。

访问行数据

.iloc属性是基于数据的整数索引,也就是数据的具体位置,来定位具体的行。索引是从0开始,所以,第1行对应的整数索引就是0。

1.访问某一行

格式:.iloc[index的位置]

如果要通过行数据所在的具体位置来访问某一行数据,需要将这一行的整数索引传入.iloc属性的中括号里。

Like:访问第1行(对应的整数索引是0);访问第3行(对应的整数索引是2)

# 导入pandas模块,并以"pd"为该模块的简写

import pandas as pd

# 读取CSV文件,并将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv")

# 使用print()和.iloc属性输出data变量里第四行的数据

print(data.iloc[3])

id                           4

order_id               3515715

user_id               46519215

payment                   8500

price                     8500

items_count                  4

cutdown_price                0

post_fee                     0

pay_type                   202

create_time      2018/2/1 0:05

pay_time         2018/2/1 0:05

Name: 3, dtype: object

总结:通过行位置来访问某一行的数据需要使用:.iloc[index]。其中,index是(具体位置-1)。

2.访问连续的某几行

格式:.iloc[index起点位置:index结束位置]

PS:如果想获取连续的几行数据时,我们也可以使用.iloc属性和 切片 进行访问。

示例中,访问第2行到第4行(索引是1到3)的代码data.iloc[1:4]

注意:和之前不一样,使用.iloc属性的切片,不包含结束index的值。

# 导入pandas模块,并以"pd"为该模块的简写

import pandas as pd

# 读取CSV文件,并将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv")

# 使用print()和.iloc属性输出data变量里第2行到第4行的数据

print(data.iloc[1:4])

2.访问不连续的某几行

格式:.iloc[[index1的位置,index2的位置,...]]

如果要访问多行不连续的数据,需要将包含这几行对应的整数索引列表传入 .iloc属性的 中括号 里。

# 导入pandas模块,并以"pd"为该模块的简写

import pandas as pd

# 使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件,并将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv")

# TODO 使用print()和.iloc属性输出data变量里第2行、第145行和第276行的数据

print(data.iloc[[1,144,275]])

Ps:值得注意的是,访问多行数据时,因为传入了列表,所以有两对中括号

总结:通过行位置访问数据中不连续的某几行需要使用:.iloc[[index1,index2,...]]

访问元素

前面我们学习了.iloc属性通过传入index的位置访问行数据。

当然,.iloc属性也允许传入两个参数,分别是index的位置和columns的位置,参数间用“逗号”隔开,这样便可以访问数据中的元素。

1. 访问单个元素

格式:.iloc[index的位置,columns的位置]

访问单个元素,需要依次将其index的位置和columns的位置传入.iloc的中括号里,用“逗号”隔开。

import pandas as pd

# 读取CSV文件,并将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv")

# 使用print()和.iloc属性输出data变量里:第5行,第2列对应的元素

print(data.iloc[4,1])

总结:位置访问变量data中的单个数据的格式是:data.iloc[index的位置,columns的位置]

2. 访问多个元素

.iloc[index位置切片或列表,columns位置切片或列表]

如果想访问多个元素,我们也可以使用.iloc属性结合切片或列表进行访问,组合情况较多。

import pandas as pd

# 读取CSV文件,并将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv")

# 使用print().loc属性输出data变量里:第13行,第35列对应的元素

print(data.iloc[[0,2],[2,4]])

结果:

示例:

这三行代码读取了路径为 "/Users/yequ/电商数据清洗.csv" 的文件。
最后,输出了第2,4行,第5,6列对应的多个元素。

import pandas as pd

data = pd.read_csv("/Users/yequ/电商数据清洗.csv")

print(data.iloc[[1,3],[4,5]])

总结:

按照行位置访问行数据

访问DataFrame对象中的.iloc属性可以按照行位置对应的整数索引访问行数据。
1.访问某一行.iloc[index]
2.访问连续的某几行.iloc[起点index:结束index],不包含结束index这一行数据
3.访问不连续的某几行.iloc[[index1,index2,...]]
4.访问单个元素.iloc[index的位置,columns的位置]
5.访问多个元素.iloc[index位置切片或列表,columns位置切片或列表]

以上为:如何使用列索引行索引来分别获取列数据和行数据的全部内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/35287.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ std::list超详细指南:基础实践(手搓list)

目录 一.核心特性 1.双向循环链表结构 2.头文件:#include 3.时间复杂度 4.内存特性 二.构造函数 三.list iterator的使用 1.学习list iterator之前我们要知道iterator的区分 ​编辑 2.begin()end() 3.rbegin()rend() 四.list关键接口 1.empty() 2. size…

【免费】2004-2017年各地级市进出口总额数据

2004-2017年各地级市进出口总额数据 1、时间:2004-2017年 2、来源:城市年鉴 3、指标:进出口贸易总额 4、范围:286个地级市 5、指标说明:进出口总额是指一个国家在特定时期内(通常为一年)所…

谈谈 undefined 和 null

*** 补充 null 和 ‘’

【第15届蓝桥杯】软件赛CB组省赛

个人主页:Guiat 归属专栏:算法竞赛真题题解 文章目录 A. 握手问题(填空题)B. 小球反弹(填空题)C. 好数D. R格式E. 宝石组合F. 数字接龙G. 爬山H. 拔河 正文 总共8道题。 A. 握手问题(填空题&…

【计算机视觉】工业表计读数(2)--表计检测

1. 简介 工业表计(如压力表、电表、气表等)在工控系统、能源管理等领域具有重要应用。然而,传统人工抄表不仅工作量大、效率低,而且容易产生数据误差。近年来,基于深度学习的目标检测方法在工业检测中展现出极大优势&…

提示词工程(Prompt Engineering)

https://www.bilibili.com/video/BV1PX9iYQEry 一、懂原理,要知道 为什么有的指令有效,有的指令无效为什么同样的指令有时有效,又是无效怎么提升指令有效的概率 大模型应用架构师想什么? 怎样能更准确?答&#xff1…

从Instagram到画廊:社交平台如何改变艺术家的展示方式

从Instagram到画廊:社交平台如何改变艺术家的展示方式 在数字时代,艺术家的展示方式正在经历一场革命。社交平台,尤其是Instagram,已经成为艺术家展示作品、与观众互动和建立品牌的重要渠道。本文将探讨社交平台如何改变艺术家的…

Typora 使用教程(标题,段落,字体,列表,区块,代码,脚注,插入图片,表格,目录)

标题 一个#是一级标题, 2个#是二级标题, 以此类推, 最多可达六级标题 示例 输入#号和标题后回车即可 注意: #和标题内容之间需要存在空格(一个或多个均可), 没有空格就会变成普通文字 标题快捷键 Ctrl数字 1-6 可以快速调成对应级别的标题 (选中文本/把光标放在标题上再按…

关于deepseek R1模型分布式推理效率分析

1、引言 DeepSeek R1 采用了混合专家(Mixture of Experts,MoE)架构,包含多个专家子网络,并通过一个门控机制动态地激活最相关的专家来处理特定的任务 。DeepSeek R1 总共有 6710 亿个参数,但在每个前向传播…

力扣hot100二刷——二叉树

第二次刷题不在idea写代码,而是直接在leetcode网站上写,“逼”自己掌握常用的函数。 标志掌握程度解释办法⭐Fully 完全掌握看到题目就有思路,编程也很流利⭐⭐Basically 基本掌握需要稍作思考,或者看到提示方法后能解答⭐⭐⭐Sl…

网络安全 --- 基于网络安全的 Linux 最敏感目录及文件利用指南

目录 基于网络安全的 Linux 最敏感目录及文件利用指南 Linux 中最敏感的目录及文件 1. /etc 2. /root 3. /var/log 4. /proc 5. /tmp 6. /home 7. /boot 8. /dev 如何利用这些敏感文件 你可能没想到的知识点 总结 Linux 中最敏感的目录及文件 1. /etc 存放内容&a…

深入浅出:Java实现斐波那契数列的七种武器与性能调优指南

​​​ 引言:当数学之美邂逅算法之力 斐波那契数列——这个诞生于13世纪的数学瑰宝,在计算机科学中焕发出新的生命力。作为递归与动态规划的经典案例,它不仅是算法入门的必修课,更是性能优化的试金石。本文将带您深入探索Java实现斐波那契数列的七种核心方法,并揭秘不同…

音视频入门基础:RTP专题(17)——音频的SDP媒体描述

一、引言 在《音视频入门基础:RTP专题(3)——SDP简介》中对SDP协议进行了简介,以H.264为例介绍了视频的SDP的媒体描述。本文对该文章进行补充,以AAC为例,讲述音频的SDP媒体描述。 二、文档下载 《RFC 364…

MyBatis-Plus防全表更新与删除插件BlockAttackInnerInterceptor

防全表更新与删除插件 BlockAttackInnerInterceptor 是 MyBatis-Plus 框架提供的一个安全插件,专门用于防止恶意的全表更新和删除操作。该插件通过拦截 update 和 delete 语句,确保这些操作不会无意中影响到整个数据表,从而保护数据的完整性…

嵌入式开发之STM32学习笔记day06

基于STM32F103C8T6的开发实践——从入门到精通01 1. 引言 STM32系列微控制器是STMicroelectronics推出的一款高性能、低功耗的32位微控制器,广泛应用于嵌入式系统中。STM32F103C8T6是其中非常受欢迎的一款,凭借其强大的性能、丰富的外设接口和低廉的价格…

TCP/IP 协议精讲-精华总结版本

序言 本文旨在介绍一下TCP/IP涉及得所有基础知识,为大家从宏观上俯瞰TCP/IP提供一个基石,文档属于《TCP/IP图解(第五版)》的精简版本。 专业术语 缩写 全称 WAN Wide area network广域网 LAN Local area network局域网 TC…

Ubuntu22.04虚拟机里安装Yolov8流程

1. 安装pytorch sudo apt install nvidia-cuda-toolkit nvcc --version # 官方适配地址:https://download.pytorch.org/whl/torch/import torch print(torch.__version__) print(torch.cuda.is_available())2. 安装环境 # cuDNN 安装:https://develop…

stm32第五天按键的基础知识

一:按键连接示意图 按键控制LED灯 软件设计流程 初始化系统 o 初始化GPIO外设时钟 o 初始化按键和LED的引脚 • 检测按键输入电平来控制LED灯 o SW2控制灯开 。 SW3控制灯关 1:key.c工程 #include"key.h" #include"stm32f10x.h"v…

Xposed模块开发:运行时修改技术

1. Xposed框架核心原理 1.1 运行时架构解析 Android ART Hook机制: graph TD A[目标APP进程] --> B{系统Zygote} B -->|加载Xposed| C[XposedBridge] C --> D[模块1] C --> E[模块2] D --> F[Hook目标方法] E --> F 1.1.1 核心组件交…

【Python学习笔记】一些关于多线程,xls文件读取,PyQt5,PyInstaller打包等问题的解决方案记录

背景: 最近利用休息时间写了个小型exe程序,主要涉及的技术点有:多线程,读取xls文件,基于PyQt5的简单GUI页面,利用PyInstaller打包成exe。虽然有ChatGPT等协助,但难免还是在开发过程中遇到了一些…