数学建模之数据分析【七】:对Pandas DataFrame 进行切片

news2024/12/28 9:50:28

文章目录

    • 一、切片简介
    • 二、创建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 进行切片包括以下步骤:

  1. 创建 DataFrame
  2. 对 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[] 则依赖于标签,因此在使用自定义索引或混合数据类型时需要仔细考虑。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

水战再起波澜,“怡宝”要下好怎样一盘棋?

不少投资者常把那些刚需性强、永远也不可能淘汰的产业称为“日不落产业”,从细分板块来看,水无疑具有一定代表性。农夫山泉掌门人钟晱晱曾直言:“我选择了一个日不落的产业,你永远要喝水,不可能不喝水。” 多年下来&a…

Python | Leetcode Python题解之第367题有效的完全平方数

题目&#xff1a; 题解&#xff1a; class Solution:def isPerfectSquare(self, num: int) -> bool:x0 numwhile True:x1 (x0 num / x0) / 2if x0 - x1 < 1e-6:breakx0 x1x0 int(x0)return x0 * x0 num

SpringBoot集成kafka-获取生产者发送的消息(阻塞式和非阻塞式获取)

说明 CompletableFuture对象需要的SpringBoot版本为3.X.X以上&#xff0c;需要的kafka依赖版本为3.X.X以上&#xff0c;需要的jdk版本17以上。 1、阻塞式&#xff08;等待式&#xff09;获取生产者发送的消息 生产者&#xff1a; package com.power.producer;import org.ap…

<数据集>车内视角行人识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;6470张 标注数量(xml文件个数)&#xff1a;6470 标注数量(txt文件个数)&#xff1a;6470 标注类别数&#xff1a;1 标注类别名称&#xff1a;[pedestrian] 序号类别名称图片数框数1pedestrian647029587 使用标注…

c++链表(list)

前言 链表作为一个常见的数据结构&#xff0c;在高频插入删除的场景下有独特的优势&#xff0c;在内存的使用上也极少有浪费可以按需申请。今天我们就来简单的学习一下这种数据结构&#xff0c;链表也有很多不同的实现&#xff0c;我们这里和标准库保持一致&#xff0c;实现带…

UDP通信函数补充 | TCP

UDP流程补充&#xff1a; recvfrom() 这是一个系统调用&#xff0c;用于从套接字接收数据的函数。该函数通常与无连接的数据报服务&#xff08;如 UDP&#xff09;一起使用&#xff0c;但也可以与其他类型的套接字使用。 函数原型为&#xff1a; ssize_t recvfrom(int sock…

使用Node-RED实现和部署物联网入侵检测的机器学习管道

整理自 《Implementing and Deploying an ML Pipeline for IoT Intrusion Detection with Node-RED》&#xff0c;由 Yimin Zhang 等人撰写&#xff0c;发表于 2023 年 CPS-IoT Week Workshops。以下是根据提供的 PDF 内容整理的论文的详细主要内容&#xff1a; 摘要 (Abstra…

Linux入门——09 共享内存

1.共享内存原理 OS内的每个进程都会有自己的内核结构&#xff08;task_struct&#xff09;和虚拟地址空间,通过页表与物理内存进程映射。 如果让两个不同的进程共享内存&#xff0c;首先就是在内存中申请一块空间&#xff08;共享内存&#xff09;&#xff0c; 然后将建立好…

Unity XR Interaction Toolkit 踩坑记录

1&#xff1a;按下 grap/select 键 物品直接飞到手上 2 按下 grap/select 键 物品一点点的想自己移动

《机器学习》—— AUC评估指标

文章目录 一、什么是AUC&#xff1f;1、什么是ROC曲线&#xff1f;2、ROC曲线的绘制 二、如何计算AUC的值三、代码实现AUC值的计算四、AUC的优缺点 一、什么是AUC&#xff1f; 机器学习中的AUC&#xff08;Area Under the Curve&#xff09;是一个重要的评估指标&#xff0c;特…

走进虚拟机逃逸技术之VMware Escape漏洞CVE-2023-20872复现

走进虚拟机逃逸技术之VMware Escape漏洞CVE-2023-20872复现 技术分享 技术分享 起初&#xff0c;为了学习虚拟机逃逸相关技术&#xff0c;也为了搞懂硬件虚拟化。于是请教了某巨佬后告诉我一本书&#xff0c;看完之后为了验证我理解到的硬件虚拟化及虚拟化逃逸原理是否正确&am…

图书管理系统详细设计

需求概述 按照需求分析文档中的规格要求&#xff0c;使用条形码扫描器进书、借书、还书&#xff0c;使得信息传递准确、流畅。同时&#xff0c;系统最大限度地实现易安装&#xff0c;易维护性&#xff0c;易操作性&#xff0c;运行稳定&#xff0c;安全可靠。 软件结构 系统由…

如何让虚拟机识别到宿主机的USB设备

我的实验环境&#xff1a; Windows宿主机VirtualBox虚拟化软件一个Linux虚机一个8G的USB磁盘 首先要让虚拟机能看到宿主机的USB设备&#xff0c;这是在VirtualBox中设置的。 选中虚机&#xff0c;右键选择“设置”菜单&#xff0c;再单击“USB设备”&#xff1a; 选中“启用…

Python | Leetcode Python题解之第365题水壶问题

题目&#xff1a; 题解&#xff1a; class Solution:def canMeasureWater(self, x: int, y: int, z: int) -> bool:if x y < z:return Falseif x 0 or y 0:return z 0 or x y zreturn z % math.gcd(x, y) 0

Alembic:python中数据库迁移的瑞士军刀

Alembic 简介 Alembic 是由 SQLAlchemy 的创始人 Mike Bayer 设计的一个数据库迁移工具。它不仅支持自动迁移脚本生成&#xff0c;还允许开发者手动编辑迁移脚本来满足特定的需求。Alembic 通过提供一个环境来跟踪数据库模式的变更历史&#xff0c;确保数据库的版本与应用代码…

推荐一个完全自由的目录设计网站

引言 如果我们能通过网站出一本书&#xff0c;这将是一件很酷的事。 事实上&#xff0c;我们通过网站发布知识&#xff0c;最常见的是写博客。 这二者有什么区别呢&#xff1f; 书本的知识内容有很强的逻辑性、系统性。而博客是随心所欲的&#xff0c;一时灵感来了就写一篇…

关闭Chrome快捷键

chrome是没办法改变快捷键以及屏蔽快捷键的&#xff0c;需要安装插件&#xff1a;shortkey 保证插件是开启的 不用做其他设置所有快捷键已被关闭

OAPT:用于双JPEG伪影去除的偏移感知分区的Transformer

OAPT: Offset-Aware Partition Transformer for Double JPEG Artifacts Removal https://github.com/QMoQ/OAPT 2408.11480 (arxiv.org) 基于深度学习的方法在去除单个JPEG伪影任务中表现出了显著的性能。然而&#xff0c;现有方法在处理双重JPEG图像时往往会退化&#xff0c…

127-隧道搭建穿透上线FRPNPSNgrok

使用了几种工具将会一一介绍 ngrokru 项目地址&#xff1a;Sunny-Ngrok内网转发内网穿透 - 国内内网映射服务器 这个网站现在要实名认证&#xff08;还得花2元解锁&#xff09; 用这种在线的网站怎么说呢&#xff0c;真不如自己买个云服务器用下面的frp&#xff0c;毕竟流量…

Python3:多行文本内容转换为标准的cURL请求参数值

背景 在最近的工作中&#xff0c;经常需要处理一些接口请求的参数&#xff0c;参数来源形式很多&#xff0c;可能是Excel、知识库文档等&#xff0c;有些数据形式比较复杂&#xff0c;比如多行或者包含很多不同的字符&#xff0c;示例如下&#xff1a; **客服质检分析指引** …