当前位置: 首页 > news >正文

Pandas 的透视与逆透视

目录

1. 透视

1.1 pivot

1.2 pivot_table

2.逆透视


1. 透视

透视是长表变宽表。

pivot() 和 pivot_table()两个函数都可以做到,后者可以聚合前者不行。

特性df.pivot()df.pivot_table()
重复值处理要求索引和列的组合唯一,否则报错 ValueError允许重复值,通过聚合函数(如均值、求和等)处理
聚合功能不支持聚合,仅用于数据重组支持聚合(默认 aggfunc='mean'
多值列处理无法处理多值列(需唯一索引-列组合)自动聚合多值(如求和、均值等)
灵活性简单场景适用(无重复值)复杂场景适用(支持重复值和自定义聚合)

示例数据:

import pandas as pddata = {'Year': [2020, 2020, 2021, 2021, 2020, 2020],'Product': ['A', 'A', 'A', 'B', 'B', 'B'],'Region': ['East', 'West', 'East', 'West', 'East', 'West'],'Sales': [100, 150, 200, 50, 120, 90]
}
df = pd.DataFrame(data)

原表:

1.1 pivot

参数说明默认值示例
index作为行索引的列名(可以是单个列名或列表)Noneindex='Region'
columns作为列名的列名(可以是单个列名或列表)Nonecolumns='Year'
values作为填充值的列名(可以是单个列名或列表,选填)Nonevalues='Sales'

 指定index是转换后的索引,不能重复,如果单独是Year 则会报错:

ValueError: Index contains duplicate entries, cannot reshape

重置一下行索引:

1.2 pivot_table

参数说明默认值示例
index作为行索引的列名(可以是单个列名或列表)Noneindex='Region'
columns作为列名的列名(可以是单个列名或列表)Nonecolumns='Year'
values作为填充值的列名(可以是单个列名或列表,选填)Nonevalues='Sales'
aggfunc聚合函数(如 'sum''mean''count' 或自定义函数)'mean'aggfunc='sum'
fill_value填充缺失值的值Nonefill_value=0
margins是否添加总计行/列(True/FalseFalsemargins=True
margins_name总计行/列的标签名'All'margins_name='Total'
dropna是否删除全为 NaN 的列(True/FalseTruedropna=False

index指定的索引值可以重复,相当于根据该值进行分组,自动进行聚合(默认聚合函数median)例子以地区为索引,以Year为列,求每年的Sales的均值

2. 自定义聚合函数

同样重置索引:

2.逆透视

melt()函数,指定宽表变长表

参数说明默认值示例
id_vars保留的标识列(不参与转换,可以是单个列名或列表)Noneid_vars=['Year', 'Product']
value_vars需要转换的列(可以是单个列名或列表,默认转换所有非 id_vars 列)Nonevalue_vars=['Sales']
var_name存储原列名的列名(新生成的“变量列”)'variable'var_name='Category'
value_name存储原列值的列名(新生成的“值列”)'value'value_name='Revenue'
col_level多层列索引时指定要转换的层级(用于 MultiIndex 列)Nonecol_level=0

以上面透视的结果为例:

逆透视:

相关文章:

Pandas 的透视与逆透视

目录 1. 透视 1.1 pivot 1.2 pivot_table 2.逆透视 1. 透视 透视是长表变宽表。 pivot() 和 pivot_table()两个函数都可以做到,后者可以聚合前者不行。 特性df.pivot()df.pivot_table()重复值处理要求索引和列的组合唯一,否则报错 ValueError允许…...

AI大模型驱动的智能座舱研发体系重构

随着AI大模型(如LLM、多模态模型)的快速发展,传统智能座舱研发流程面临巨大挑战。传统座舱研发以需求驱动、功能固定、架构封闭为特点,而AI大模型的引入使得座舱系统向自主决策、动态适应、持续进化的方向发展。 因此思考并提出一…...

【东枫科技】代理英伟达产品:DPU

NVIDIA BlueField-3 DPU 400Gb/s 基础设施计算平台 NVIDIA BlueField -3 数据处理单元 (DPU) 是第三代基础设施计算平台,使企业能够构建从云端到核心数据中心再到边缘的软件定义、硬件加速的 IT 基础设施。借助 400Gb/s 以太网或 NDR 400Gb/s InfiniBand 网络连接…...

【KWDB 创作者计划】一文掌握KWDB的时序表管理

前言 本文是在对时序数据库有一定了解,并且KWDB的数据库操作了解后进行学习的文章安排,如果对时序数据库与KWDB的数据库操作还不怎么了解的可以查阅官网的文档进行提前学习,当有了这些基础后,本文就是对时序数据表的一个管理操作…...

《算法导论(第4版)》阅读笔记:p9-p9

《算法导论(第4版)》学习第 6 天,p9-p9 总结,总计 1 页。 一、技术总结 1. data structure A data structure is a way to store and organize data in order to facilitate access and modifications(数据结构是一种存储和组织数据的方式&#xff0c…...

Facebook隐私保护措施的优缺点解析

在这个数字化的时代,隐私保护已成为公众关注的热点话题。Facebook,作为全球最大的社交媒体平台之一,其隐私保护措施自然也受到了广泛的关注和讨论。本文将对Facebook的隐私保护措施进行解析,探讨其优点与缺点,并探讨如…...

深入了解linux系统—— 进程地址空间

前言 程序地址空间 在之前&#xff0c;我们学习C/C时&#xff0c;多多少少都看过这样的一张图 我们现在通过下面这一段代码看一下&#xff1a; #include <stdio.h> #include <unistd.h> #include <stdlib.h> int g_unval; int g_val 100; int main(int…...

电动加长杆金属硬密封法兰式蝶阀泄漏等级解析:水、蒸汽、油品介质的可靠选择-耀圣

电动加长杆金属硬密封法兰式蝶阀泄漏等级解析&#xff1a;水、蒸汽、油品介质的可靠选择 在工业流体控制领域&#xff0c;电动金属硬密封蝶阀凭借其卓越的密封性能和耐高温高压特性&#xff0c;成为水、蒸汽、油品等介质的核心控制设备。其泄漏等级作为衡量阀门性能的关键指标…...

win11共享打印机主机设置

1.首先打开设置&#xff0c;选择打印机和扫描仪点击打印机属性&#xff0c;将共享窗口的共享这台打印机和在客户端计算机上呈现打印作业这两项勾选上。 2.通过cmd命令 gpedit.msc 打开本地组策略编辑器。 3.网络访问选择仅来宾 4.将账户来宾状态选择启用 5.将拒绝从网络访问这台…...

Flowable7.x学习笔记(二十)查看流程办理进度图

前言 本文是基于继承Flowable的【DefaultProcessDiagramCanvas】和【DefaultProcessDiagramGenerator】实现的自定义流程图生成器&#xff0c;通过自定义流程图生成器可以灵活的指定已经执行过的节点和当前正在活跃的节点样式&#xff0c;比如说已经执行完成的节点我们标绿&…...

【计算机网络 第8版】谢希仁编著 第四章网络层 地址类题型总结

小结 个人觉得地址类在网络层算好做的题&#xff0c;这部分知识本身并不多&#xff0c;理解到位了就是2进制和10进制的换算题了。而且这种题给你一小时例题和标答&#xff0c;肯定自己都能悟出来。但是计网网络层的整体我感觉很散&#xff0c;老师讲的也乱七八糟的&#xff0c…...

一种基于条件生成对抗网络(cGAN)的CT重建算法

简介 简介:该文提出了一种基于条件生成对抗网络(cGAN)的CT重建算法,通过引入CBAM注意力机制增强网络对关键特征的提取能力,有效解决了CT成像中因噪声干扰导致的重建精度下降问题。实验采用固体火箭发动机模拟件数据集,将正弦图分为五组并添加不同程度的噪声进行训练。结…...

欧拉系统(openEuler)上部署OpenStack的完整指南 ——基于Yoga版本的全流程实践

&#xff08;资源区里有上传的配置好的openstack镜像&#xff09; 一、环境规划与前置准备 1. 硬件与节点规划升级 存储节点&#xff08;可选&#xff09;&#xff1a;若需Cinder后端&#xff0c;建议配置SSDHDD混合存储网络拓扑强化&#xff1a; 管理网络&#xff1a;启用V…...

oceanbase不兼容SqlSugarCore的问题

问题发现 C#程序使用SqlSugarCore5.1.4.166进行数据库操作&#xff0c;而且项目需要在多台服务器上面部署&#xff0c;结果发现A服务器部署运行没有问题&#xff0c; B服务器部署却报错&#xff1a;SqlSugar.SqlSugarException:Connect timeout expired. 但是我们的C#代码是一…...

深入理解分布式锁——以Redis为例

一、分布式锁简介 1、什么是分布式锁 分布式锁是一种在分布式系统环境下&#xff0c;通过多个节点对共享资源进行访问控制的一种同步机制。它的主要目的是防止多个节点同时操作同一份数据&#xff0c;从而避免数据的不一致性。 线程锁&#xff1a; 也被称为互斥锁&#xff08…...

OrangePi Zero 3学习笔记(Android篇)1 - 搭建环境

目录 1. 下载安装Ubuntu22.04 1.1 安装增强功能 1.2 设置共享文件夹 1.3 创建AOSP.vdi 1.4 更新相关软件包 2. 解压AOSP源代码 3. 编译代码 3.1 编译uboot/Linux 3.2 编译AOSP源代码 3.3 内存问题调试记录 3.3.1 查看具体什么问题 3.3.2 关闭dex2oat&#xff08;无…...

RabbitMq(尚硅谷)

RabbitMq 1.RabbitMq异步调用 2.work模型 3.Fanout交换机&#xff08;广播模式&#xff09; 4.Diret交换机&#xff08;直连&#xff09; 5.Topic交换机&#xff08;主题交换机&#xff0c;通过路由匹配&#xff09; 6.Headers交换机&#xff08;头交换机&#xff09; 6…...

OpenAI的“四面楚歌”:从营利到非营利,一场关于AGI控制权的革命

引言 当“奥特曼妥协”与“四面楚歌”并置时&#xff0c;OpenAI的这次重大调整&#xff0c;仿佛在科技史上投下一颗震撼弹。这家曾因“拒绝盈利”而备受争议的人工智能公司&#xff0c;如今却在资本与理想之间艰难抉择——放弃营利性转型&#xff0c;回归非营利初心。这不仅是对…...

[250505] Arch Linux 正式登陆 Linux 的 Windows 子系统

目录 Arch Linux 正式登陆 Windows Subsystem for Linux (WSL) Arch Linux 正式登陆 Windows Subsystem for Linux (WSL) Arch Linux 社区与 Microsoft 合作&#xff0c;正式宣布 Arch Linux 现已提供官方的 Windows Subsystem for Linux (WSL) 镜像。这意味着 Windows 用户现…...

MySQL 日期格式化:DATE_FORMAT 函数用法

MySQL 日期格式化&#xff1a;DATE_FORMAT 函数用法 在 MySQL 中&#xff0c;DATE_FORMAT() 函数用于将日期或时间值格式化为指定的字符串格式。 正确语法 DATE_FORMAT(date, format)常用格式说明符 说明符描述%Y四位数的年份&#xff08;例如&#xff1a;2023&#xff09;…...

java springboot解析出一个图片的多个二维码

引入 <dependencies><!-- ZXing --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.4.1</version></dependency><dependency><groupId>com.google.zxing…...

【四川省专升本计算机基础】第一章 计算机基础知识(上)

前言 对计算机专业的同学来说这门课程可能很简单&#xff0c;容易拿高分&#xff08;125分以上&#xff09;&#xff0c;但也可能很容易大意丢分。因为本门课程人称&#xff1a;背多分。大意丢分者的心态觉得计算机基础都学过&#xff0c;内容很简单&#xff0c;最后才开始背计…...

406错误,WARN 33820 --- [generator] [nio-8080-exec-4] .w.s.m.s.DefaultHa

在接口调用过程中&#xff0c;后端出现.w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation]错误。检查了一个小时才发现我返回的对象没有写getter方法&#xff0c; 当Spring B…...

基于STM32、HAL库的SST26VF064B NOR FLASH存储器驱动应用程序设计

一、简介: SST26VF064B是Microchip公司生产的一款64Mbit(8MB)串行闪存器件,采用SPI接口通信,具有以下特点: 工作电压:2.7-3.6V 最高104MHz时钟频率 统一4KB扇区结构 快速擦除和编程时间 低功耗特性 支持标准SPI、Dual SPI和Quad SPI模式 二、硬件接口: STM32L4引脚SST26V…...

美信监控易:全栈式自主可控的底层架构优势

在当今数字化时代&#xff0c;企业的运维管理面临着越来越多的挑战。为了确保业务的稳定运行&#xff0c;企业需要一款高效、可靠的运维管理软件。北京美信时代的美信监控易运维管理软件&#xff0c;以其全栈式自主可控的底层架构优势&#xff0c;成为了运维团队的理想选择。 …...

Class AB OPA corner 仿真,有些corenr相位从0开始

Class AB OPA做 STB 仿真时&#xff0c;会遇到有些corner(c0_0、c0_4、c0_5)相位从0开始的情况。 首先应该去检查电路&#xff0c;电路里是否有正反馈&#xff1b;排除没有正反馈后&#xff0c;考虑是图中的红框中的线性跨导环中的Vds 太大导致了碰撞电离导致的。 查找了网上…...

【JEECG】BasicTable单元格编辑,插槽添加下拉组件样式错位

1.功能说明 BasicTable表格利用插槽&#xff0c;添加组件实现单元格编辑功能&#xff0c;选择组件下拉框错位 2.效果展示 3.解决方案 插槽内组件增加&#xff1a;:getPopupContainer"getPopupContainer" <template #salesOrderProductStatus"{ column, re…...

第十五届蓝桥杯单片机国赛-串口解析

串口通信像是蓝桥杯单片机组国赛中一个若隐若现的秘境&#xff0c;总在不经意间为勇者们敞开大门。然而&#xff0c;初次探索这片领域的冒险者&#xff0c;常常会被其神秘莫测的特性所震慑&#xff0c;黯然退场&#xff08;编不下去了&#xff0c;直接进入正题&#xff09;。 附…...

Flutter开发HarmonyOS实战-鸿蒙App商业项目

Flutter开发HarmonyOS实战内容介绍&#xff1a; Flutter开发HarmonyOS 鸿蒙App商业项目&#xff08;小米商城APP&#xff09;实战视频教程 Flutter开发鸿蒙APP是在《FlutterGetx仿小米商城》项目基础之上讲解的&#xff0c;调试Flutter HarmonyOS应用需要有HarmonyOS Next的手机…...

【回眸】香橙派Zero2 超声波模块测距控制SG90舵机转动

前言 知识准备 超声波模块时序图 gettimeofday()函数作用 gettimeofday()函数原型 tv结构体 获取当前系统时间与格林威治时间的时间差 获取香橙派数10万秒花费的时间 使用超声波模块获取到障碍物距离 SG90舵机模块 舵机模块的作用 舵机模块方波时序图 舵机模块工作原…...

RabbitMQ 添加新用户和配置权限

以下是关于使用 sudo rabbitmqctl add_user 命令创建新用户的详细示例&#xff0c;同时包含创建用户后进行权限设置、角色设置等相关操作的示例。 1. 前提条件 确保你的 RabbitMQ 服务已经正常运行&#xff0c;并且你具有执行 sudo 命令的权限。 2. 创建新用户 假设我们要创…...

【前缀和】矩阵区域和

文章目录 1314. 矩阵区域和解题思路1314. 矩阵区域和 1314. 矩阵区域和 ​ 给你一个 m x n 的矩阵 mat 和一个整数 k ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和: i - k <= r <= i + k, j - k <= c <= j + k …...

编程日志4.25

栈的stl模板 可直接用<stack>库进行调用 #include<iostream> #include<stack>//栈的模板库 using namespace std; int main() { stack<int> intStk;//整数 栈 stack<double> doubleStk;//浮点数 栈 intStk.push(1); intStk.pu…...

【中间件】brpc之工作窃取队列

文章目录 BRPC Work Stealing Queue1 核心功能2 关键数据结构2.1 队列结构2.2 内存布局优化 3 核心操作3.1 本地线程操作&#xff08;非线程安全&#xff09;3.2 窃取操作&#xff08;线程安全&#xff09; 4 设计亮点4.1 无锁原子操作4.2 环形缓冲区优化4.3 线程角色分离 5 性…...

用OMS从MySQL迁移到OceanBase,字符集utf8与utf8mb4的差异

一、问题背景 在一次从MySQL数据库迁移到OceanBase的MySQL租户过程中&#xff0c;出现了一个转换提示&#xff1a; [WARN][CONVER] he table charset:utf8->utf8mb4&#xff0c; 你可能会担心这种转换可能导致字符集不兼容的问题。但通过查阅相关资料可知&#xff0c;utf8m…...

知乎前端面试题及参考答案

Webpack 和 Vite 的区别是什么? 构建原理: Webpack 是基于传统的打包方式,它会将所有的模块依赖进行分析,然后打包成一个或多个 bundle。在开发过程中,当代码发生变化时,需要重新构建整个项目,构建速度会随着项目规模的增大而变慢。Vite 利用了浏览器对 ES 模块的支持,…...

项目中为什么选择RabbitMQ

当被问及为什么选择某种技术时&#xff0c;应该结合开发中的实际情况以及类似的技术进行分析&#xff0c;适合的技术才是最好的。 在项目中为什么选择RabbitMQ 作为消息中间件&#xff0c;主要可以基于以下几方面进行分析&#xff1a; 1. 可靠性 消息持久化&#xff1a;Rabbi…...

深入解析二维矩阵搜索:LeetCode 74与240题的两种高效解法对比

文章目录 [toc]**引言** **一、问题背景与排序规则对比****1. LeetCode 74. 搜索二维矩阵****2. LeetCode 240. 搜索二维矩阵 II** **二、核心解法对比****方法1&#xff1a;二分查找法&#xff08;适用于LeetCode 74&#xff09;****方法2&#xff1a;线性缩小搜索范围法&…...

Qt案例 以单线程或者单生产者多消费者设计模式实现QFTP模块上传文件夹功能

前文:Qt案例 使用QFtpServerLib开源库实现Qt软件搭建FTP服务器,使用QFTP模块访问FTP服务器 已经介绍了Qt环境下搭建FTP服务器或者使用QFTP上传的方式示例, 这里主要介绍下使用QFTP模块上传整个文件夹的案例示例。 目录导读 前因后果单线程处理1.定义FTPFolderUpload 继承 QT…...

含锡废水回收率提升技术方案

一、预处理环节优化 物理分离强化 采用双层格栅系统&#xff08;孔径1mm0.5mm&#xff09;拦截悬浮物&#xff0c;配套旋流分离器去除密度>2.6g/cm的金属颗粒&#xff0c;使悬浮物去除率提升至85%。增设pH值智能调节模块&#xff0c;通过在线pH计联动碳酸钠/氢氧化钠投加系…...

第八章,STP(生成树协议)

广播风暴----广播帧在二层环路中形成逆时针或顺时针的转动的环路&#xff0c;并且无限循环&#xff0c;最终导致设备宕机&#xff0c;网络瘫痪。 MAC地址表的翻摆&#xff08;漂移&#xff09;----同一个数据帧&#xff0c;顺时针接收后将记录MAC地址及接口的对应信息&#xff…...

《面向对象程序设计-C++》实验五 虚函数的使用及抽象类

程序片段编程题 1.【问题描述】 基类shape类是一个表示形状的抽象类&#xff0c;area( )为求图形面积的函数。请从shape类派生三角形类(triangle)、圆类&#xff08;circles&#xff09;、并给出具体的求面积函数。注&#xff1a;圆周率取3.14 #include<iostream> #in…...

PCIe - ZCU106(RC) + KU5P(EP) + 固化

目录 1. 简介 1.1 Data Mover 1.2 描述符 2. ZCU102 2.1 Ubuntu OS 2.2 USB Host 2.2.1 连接拓扑 2.2.2 设备类型 2.2.3 USB 跳帽设置 2.3 无线网卡 2.4 PCIe Info 2.4.1 Diagram 2.4.2 lspci -tv 2.4.3 lspci -v 2.4.2.1 设备基本信息 2.4.2.2 控制与状态寄存…...

网络编程核心技术解析:从Socket基础到实战开发

网络编程核心技术解析&#xff1a;从Socket基础到实战开发 一、Socket编程核心基础 1. 主机字节序与网络字节序&#xff1a;数据传输的统一语言 在计算机系统中&#xff0c;不同架构对多字节数据的存储顺序存在差异&#xff0c;而网络通信需要统一的字节序标准&#xff0c;这…...

SQL注入总结

一.sql注入 原理&#xff1a;当一个网站存在与用户交互的功能&#xff08;如登录表单、搜索框、评论区等&#xff09;&#xff0c;并且用户输入的数据未经充分过滤或转义&#xff0c;直接拼接到后台数据库查询语句中执行时&#xff0c;就可能引发SQL注入漏洞。攻击者可以通过构…...

conda 安装cudnn

通过 Conda 安装 cuDNN 确保你有 NVIDIA GPU 和 CUDA Toolkit&#xff1a;首先&#xff0c;确保你的系统上安装了 NVIDIA GPU 和 CUDA Toolkit。你可以通过运行以下命令来检查 CUDA 是否已安装&#xff1a;nvcc --version 如果没有安装 CUDA&#xff0c;你需要先从 NVIDIA CU…...

强啊!Oracle Database 23aiOracle Database 23ai:使用列别名进行分组排序!

大家好&#xff0c;这里是架构资源栈&#xff01;点击上方关注&#xff0c;添加“星标”&#xff0c;一起学习大厂前沿架构&#xff01; 从 Oracle Database 23ai 开始&#xff0c;您可以在 GROUP BY 和 HAVING 子句中直接使用列别名。此功能在早期版本的 Oracle Database 中不…...

RAG 2.0 深入解读

一、Introduction 过去一年可谓是RAG元年&#xff0c;检索增强生成技术迅速发展与深刻变革&#xff0c;其创新与应用已深刻重塑了大模型落地的技术范式。站在2025年&#xff0c;RAG不仅突破了早期文本处理的局限&#xff0c;更通过多模态融合、混合检索优化和语义鸿沟跨越等突…...

Excel Vlookup

VLOOKUP(A2, Sheet2!A:B, 2, 0) 代表的是检查A2,匹配源是sheet2表AB两列 Sheet2!A:B&#xff1a;指定要在其中查找数据的范围&#xff0c;这里是 Sheet12中的 A 列和 B 列&#xff0c;A 列是查找的依据列&#xff0c;B 列是要返回值的列。2&#xff1a;表示要返回查找区域中的…...

css媒体查询及css变量

媒体查询是 CSS 样式表最重要的功能之一&#xff0c;所谓媒体查询指的就是根据不同的媒体类型&#xff08;设备类型&#xff09;和条件来区分各种设备&#xff08;例如&#xff1a;电脑、手机、平板电脑、盲文设备等&#xff09;&#xff0c;并为它们分别定义不同的 CSS 样式。…...