数学建模之数据分析【七】:对Pandas DataFrame 进行切片
文章目录
- 一、切片简介
- 二、创建Pandas数据框
- 三、使用iloc进行切片
- 3.1 对行进行切片
- 3.2 对列进行切片
- 3.3 Dataframe选中特定单元格
- 四、使用loc创建切片
- 4.1 使用Python对Dataframe中的行进行切片
- 4.2 指定单元格
- 五、在Python中使用布尔条件
- 六、结论
对 Pandas DataFrames 进行切片,是一种强大的技术,允许根据整数位置或标签位置提取特定的数据子集。本文,我们将学习行和列切片、单元格选择和布尔条件的用法。
一、切片简介
借助 Pandas,我们可以在 Dataframe 中执行切片。使用 Pandas Dataframe 进行切片iloc[] 是 Python 中提取特定数据子集的一种强大技术。该iloc[] 方法允许您根据行和列的整数位置来定位和提取它们。
要使用 执行切片iloc[],请指定要包含在切片数据框中的行和列索引。语法类似于传统的数组切片,对于 Python 用户来说非常直观。例如,df.iloc[1:5, 2:4]从数据框中提取第 2 至第 5 行和第 3 至第 4 列。
在 Pandas 中对 DataFrame 进行切片包括以下步骤:
- 创建 DataFrame
- 对 DataFrame 进行切片
二、创建Pandas数据框
import pandas as pd# Initializing the nested list with Data set
player_list = [['M.S.Dhoni', 36, 75, 5428000],['A.B.D Villers', 38, 74, 3428000],['V.Kohli', 31, 70, 8428000],['S.Smith', 34, 80, 4428000],['C.Gayle', 40, 100, 4528000],['J.Root', 33, 72, 7028000],['K.Peterson', 42, 85, 2528000]]# creating a pandas dataframe
df = pd.DataFrame(player_list, columns=['Name', 'Age', 'Weight', 'Salary'])
df # data frame before slicing
运行结果:

三、使用iloc进行切片
3.1 对行进行切片
# Slicing rows in data frame
df1 = df.iloc[0:4] #对第一行到第四行进行切片
# data frame after slicing
df1

3.2 对列进行切片
对列进行切片:
# Slicing columnss in data frame
df1 = df.iloc[:, 0:2]#所有行,第1,2列
# data frame after slicing
df1

3.3 Dataframe选中特定单元格
选中特定单元格,列入第三行,第四列:
specific_cell_value = df.iloc[2, 3] # Row 3, Column 4 (Salary)
print("Specific Cell Value:", specific_cell_value)
输出:
8428000
四、使用loc创建切片
还可以通过 loc 实现切片,但有一些限制:
- loc依赖于标签,如果您的 DataFrame 有自定义标签,您需要小心指定它们的方式。
- 如果标签是整数,则使用整数位置和实际标签之间可能会产生混淆。
为此,我们需要使用以下代码手动将索引设置为标签:
df_custom = df.set_index('Name')
df_custom
运行结果:

4.1 使用Python对Dataframe中的行进行切片
sliced_rows_custom = df_custom.loc['A.B.D Villers':'S.Smith']
sliced_rows_custom

4.2 指定单元格
specific_cell_value = df_custom.loc['V.Kohli', 'Salary']
print("\nValue of the Specific Cell (V.Kohli, Salary):", specific_cell_value)

五、在Python中使用布尔条件
filtered_data = df[df['Age'] > 35].iloc[:, :] # Select rows where Age is greater than 35
print("\nFiltered Data based on Age > 35:\n", filtered_data)
iloc()只是分割,df可做筛选。

六、结论
总而言之,iloc[] 和 loc[] 均在 Pandas 中提供多种切片功能。iloc[] 基于整数,而 loc[] 则依赖于标签,因此在使用自定义索引或混合数据类型时需要仔细考虑。
相关文章:
数学建模之数据分析【七】:对Pandas DataFrame 进行切片
文章目录 一、切片简介二、创建Pandas数据框三、使用iloc进行切片3.1 对行进行切片3.2 对列进行切片3.3 Dataframe选中特定单元格 四、使用loc创建切片4.1 使用Python对Dataframe中的行进行切片4.2 指定单元格 五、在Python中使用布尔条件六、结论 对 Pandas DataFrames 进行切…...
删除 Docker 容器的日志文件
删除 Docker 容器的日志文件可以帮助释放磁盘空间。以下是步骤: 1、查找日志文件路径: Docker 容器的日志通常存储在 /var/lib/docker/containers/<container_id>/ 目录下。日志文件通常名为 container_id-json.log。 通过以下命令找到日志文件的位置: docker ins…...
DevOps入门(上)
1: DevOps概念 DevOps: Development 和 Operations 的组合 DevOps 看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。 突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使…...
基于Python的网易民谣歌词数据分析的设计与实现
基于Python的网易民谣歌词数据分析的设计与实现 Design and Implementation of Data Analysis for NetEase Folk Song Lyrics Based on Python 完整下载链接:基于Python的网易民谣歌词数据分析的设计与实现 文章目录 基于Python的网易民谣歌词数据分析的设计与实现摘要第一章…...
趋动科技联合云轴科技推出GPU云原生超融合解决方案
近日,趋动科技VirtAITech携手云轴科技ZStack推出GPU云原生超融合联合解决方案,提供全面、可扩展的云原生GPU存算一体化解决方案。 该方案基于云原生超融合及GPU资源池化技术,使得GPU资源管理变得更加简便易用,能够帮助企业用户在…...
Dooring智图,一款开箱即用的图片海报编辑器
嗨, 大家好, 我是徐小夕. 之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如: Nocode/Doc,可视化 零代码打造下一代文件编辑器爆肝1000小时, Dooring零代码搭建平台3.5正式上线可视化…...
苹果macbook电脑怎么玩《黑神话:悟空》游戏教程来了
火爆全网《黑神话:悟空》是一款基于中国神话故事《西游记》改编的动作角色扮演游戏,它在PC平台上的系统要求已经公布,但目前官方尚未发布Mac版本。不过,Mac用户可以通过使用系统兼容工具如CrossOver来尝试在Mac上运行这款游戏。Cr…...
git 目录提交代码
初始化 Git 仓库(如果尚未初始化): 如果还没有初始化 Git 仓库,运行以下命令: git init将远程仓库添加到目录 b 中: 如果尚未关联远程仓库,添加远程仓库: git remote add origin <…...
多商户商品下单限购问题修复
问题: 当商品设置限购为 1 时,够买数量未超过限购,但是还是提示超出限购数量 修复方法: 修改代码路径: app\common\repositories\store\order\StoreOrderCreateRepository.php 修改代码一: i s p a y s a r r a y u n i q u e ( a r r a y c o l u m n ( is_pays array_un…...
eNSP 华为ACL配置
华为ACL配置 需求: 公司保证财务部数据安全,禁止研发部门和互联网访问财务服务器,但总裁办不受影响 R1: <Huawei>sys [Huawei]sys Router1 [Router1]undo info-center enable [Router1]int g1/0/0 [Router1-GigabitEth…...
实现高效研发运营一体化:深度落地DevOps解决方案的探索与实践
前言与概述 伴随着企业业务的快速发展,为了支撑业务发展,提高 IT 对业务的支撑能力建设。在研发工程协同方面,希望加强代码管理,实现持续构建、自动化测试、自动化部署、自动化运维,同时加强产品的安全和质量管理&…...
Milvus向量数据库-磁盘索引简介
以下内容是自己在学习Milvus向量数据库时,在Milvus官方网站文档库中对索引的学习整理和翻译,通过自己和借助翻译软件进行了理解整合翻译,有可能有一些地方理解整理的不到位,还望大家理解。 一、磁盘索引 本文介绍了一种名为Disk…...
Web漏洞介绍和Sql注入漏洞
常规渗透测试流程 漏洞探测包括:web漏洞测试,系统漏洞测试 工具探测、手工验证 优先找的漏洞:中间(件)漏洞、框架漏洞...webserver 知道创宇 Seebug 漏洞平台 - 洞悉漏洞,让你掌握前沿漏洞情报ÿ…...
【Eureka】Eureka 介绍与实战
1. Eureka 简介 Eureka 是 Netflix 开发的一个服务注册和发现组件,主要用于微服务架构中。它的核心功能是帮助微服务之间进行通讯和管理,使得服务能够动态地发现彼此,实现灵活的服务调用和负载均衡。 1.1 核心概念 服务注册中心࿰…...
密码管理系统的自动化与集成:重塑安全与效率的双重飞跃
在数字化时代,密码作为保护个人信息、企业资产及敏感数据的第一道防线,其重要性不言而喻。然而,随着网络应用的激增和复杂性的提升,传统的密码管理方式——如使用简单密码、重复密码或依赖记忆——已难以满足现代安全需求…...
Outlook如何精确搜索邮件?
Outlook如何精确搜索邮件? 参考链接:https://jingyan.baidu.com/article/e75aca853148ba552edac6b6.html 我们在使用Outlook搜索功能时,直接输入关键词的话,会出来很多不相关的内容,那么有没有办法让搜索时更加精确呢…...
MambaCSR: 使用SSM的双交错扫描压缩图像超分辨率
MambaCSR: Dual-Interleaved Scanning for Compressed Image Super-Resolution With SSMs 2408.11758 (arxiv.org) GitHub - renyulin-f/MambaCSR: The code source of MambaCSR 摘要 本文提出了MambaCSR,这是一个基于Mamba的简单但有效的框架,用于解决…...
【C++】深入解析C/C++内存管理:new与delete的使用及原理
C语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类 本章将分享C为何放弃malloc/free系列,选择新系列new/delete去管理内存。深度探索new/delete的使用及其原理,m…...
递归--数据结构--黑马
递归 总结一句话,上手直接多刷Leetcode,比看这个更有用。 定义 递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集。 例如,单链表递归遍历的例子: void f(Node node) {if (node null) {retu…...
【3.1】贪心算法-解分发饼干
一、题目 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是, 每个孩子最多只能给一块饼干 。 对每个孩子i,都有一个 胃口值 g[i] ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
