Excel将表格文件由宽数据转为长数据的方法

  本文介绍基于Excel软件的Power Query模块,实现表格数据由宽数据转为长数据的具体方法。

  长数据宽数据是数据分析中的2种基本数据组织形式,二者在结构、用途、适用场景等方面各有特点。其中,宽数据 (Wide Format)以“横向扩展”为特征,每个独立个体(如一名患者、一家公司)独占一行,而该个体的多个观测值(如不同时间点的指标)则横向排列在不同列中。这种布局让数据一目了然,适合直接查看或制作报表,但涉及时间序列或多指标对比时,会显得冗余且不利于程序化分析。长数据 (Long Format)则采用“纵向堆叠”的结构,每一行仅记录一个观测值,通过新增分类列(如“时间点”“指标类型”)来区分不同条件下的数据。这种格式虽然增加行数、降低可读性,却更贴合统计建模和可视化工具的需求,尤其适合重复测量分析或绘制多变量趋势图。

  在我们之前的文章R语言读取Excel表格数据并绘制多系列柱状图、条形图(https://fkxxgis.blog.csdn.net/article/details/128986301)中,就介绍过基于R语言实现宽数据与长数据的转换方法;而本文我们则介绍不用代码、直接在Excel内,实现宽数据与长数据的转换方式。

  首先,已知我们有一个如下图所示的Excel表格,其目前的数据形式为宽数据;我们的需求就是将这一宽数据转为长数据

  转换的方式也很简单。首先,我们需要新建另一个Excel表格文件,并在“数据”一栏中,依次选择“获取数据”→“来自文件”→“从工作簿”,如下图所示。

  随后,在弹出的窗口中,选择存放了前述宽数据的那个Excel表格文件,如下图所示。

  接下来,在导航器中,首先选择宽数据所在的Sheet,此时在右侧就会出现数据的预览;接下来,点击右下角的“转换数据”按钮,如下图所示。

  随后,即可出现如下图所示的Power Query编辑器界面。由于前述数据导入过程中,可能会存在问题,因此此时我们首先对数据做一下检查。比如有一种情况,就是在数据导入时,Excel可能会将原本宽数据的第一行(列名行)也当作导入数据的一行记录(相当于导入后的数据比之前多了1行而少了列名);因为我这里没有遇到这个情况,所以这里就没记录这个问题的解决方法,如果大家遇到了这个问题,再搜索解决方法即可。

  但是本文中,遇到了另一种问题:原本我的宽数据的第3列是一个文本格式的列,其具有形如0010的编号;而在上述导入过程中,这一列被Excel识别为了整数格式的列,也就导致将原本的0010变为了10,很显然这个是不正确的。

  针对这种情况,我们就选中这一列,此时可以看到此列的数据格式确实被识别为了整数,如下图所示。

  因此,将这一列修改为文本格式即可,如下图所示。

  接下来,会弹出如下图所示的提示窗口,选择“替换当前转换”即可。

  修改格式后,可以看到这一列的数据已经是正常的了,例如0010这个值显示就是正确的了,如下图所示。

  接下来,我们回归主题,开始进行宽数据向长数据的转换。转换的方式也很多,首先如果大家需要参与转换的列比较多,那就可以首先选中不需要转换的列,然后选择“转换”栏目中的“逆透视其他列”,如下图所示。

  这样,就会将我们没有选中的其他列加以转换,如下图所示。可以看到,此时前三列(也就是公司、产品、产品编号等基本信息列)没有参与转换,而转换的是后面几列,也就是不同年份的销量。

  同样的,我们还可以直接选中需要转换的列,那么此时选择“逆透视列”即可,如下图所示。

  可以看到,上图中我们只选中了2021年销售额这一列,因此逆透视后,只有这一年的销售量被转换了,如下图所示。

  此外,在Power Query编辑器右侧,有一个应用的步骤模块,如下图所示。这里会记录数据导入过程、编辑过程中的操作,如果需要撤回操作,直接点击这里最新操作左侧的叉号即可。

  如果数据已经处理完毕, 那么选择“文件”中的“关闭并上载”选项即可,如下图所示。

  随后,即可看到导入、转换完毕的数据,已经出现在了当前的Excel表格文件中,如下图所示。

  此外,对于基于Power Query编辑器导入数据的Excel表格,其右侧会出现如下图所示的“查询 & 连接”窗口,其中会记录数据导入情况。如果在上述操作中有数据导入错误,这里也会显示出来,所以大家也可以多多留意这个位置的信息,避免数据导入或转换错误。

  至此,大功告成。

欢迎关注:疯狂学习GIS

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

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

相关文章

SpringAI + DeepSeek大模型应用开发 - 入门篇

三、SpringAI Spring AILangChain4jChat支持支持Function支持支持RAG支持支持对话模型1515向量模型1015向量数据库1520多模态模型51JDK178 1. 对话机器人 1.1 快速入门 步骤①:引入依赖(先去掉openai的starter依赖,因为要配置API_KEY&#…

ROS docker使用显卡驱动rviz gazebo,以及接入外设和雷达

ROS docker使用显卡驱动rviz gazebo,以及接入外设和雷达 由于我的电脑装ubuntu22.04系统,想使用ros noetic开发,使用鱼香ros一键安装docker安装。但是启动dockek中rviz无法使用显卡驱动,usb相机端口不显示,网口雷达无…

ruoyi后端框架的mapper层复杂字段数据获取问题

背景。如下是复杂字段。需要在mapper.java类注解中声明autoResultMap true才会进行处理。前提是,创建后端程序代码没有添加mapp.xml文件。故用注解简化代替。

产品推荐|一款具有单光子级探测能力的科学相机千眼狼Gloria 1605

在生命科学超分辨率成像、量子物理单光子探测、交叉领域单分子追踪等应用场景中,具有单光子级探测能力的科学相机是科学实验的关键设备。 千眼狼Gloria 1605采用16μm16μm大像元尺寸设计,基于Gpixel科学级背照式CMOS芯片,集成千眼狼底层图像…

JS.Day2-堆选(Py)/三路快排-快速选择-215,11,560,21,128,20,121

目录 215.找第k大元素 三路的快速排序 快速选择 法2.堆选 (堆排序) 11.盛更多水的容器 代码1 代码2 560.和为K的子数组(题意!) 惯性思维 正解 21.合并生序链表 递归写法 128.最长连续序列 20.有效的括号…

第8章 处理几何图形 面向 ArcGIS的Python脚本编程

一、折点坐标(.txt 或 .xlsx 或 .xls) > 点线面图层(.shp) (一).xlsx 或 .xls > .shp 新建一个文件夹,连接到该文件夹,并将其设置为工作空间 在该文件夹下,新建一个pts.xlsx的文件,并输入下图内容 …

使用(h3.js)绘制六角网格码

今天来记录一篇关于h3.js插件库的使用,他可以很高效的计算出地球上某个经纬度坐标六边形顶点。 前段时间领导突然给我个售前功能,要求是使用h3.js插件在地球上绘制出六边形网格码,本来以为挺棘手的,结果看完文档后发现也挺简单的…

GO 1.25

Go 1.25 发布说明(草案) Go 1.25 尚未发布。 本文档是正在编写中的发布说明。Go 1.25 预计于 2025 年 8 月发布。 语言变更 Go 1.25 中没有影响 Go 程序的语法变更。然而,在语言规范中,“核心类型”(core types&…

解析Android SETUP_DATA_CALL 链路信息字段

Android 对象返回的log信息经常都不是标准的JSON字符串,排查字段不直观,比如下面的日志: 06-13 15:56:36.204 8076 8407 D RILJ : [1655]> SETUP_DATA_CALL,reason=NORMAL,accessNetworkType=EUTRAN,dataProfile=[DataProfile=[ApnSetting] IMS, 2318, 310260, ims,…

跨语言RPC:使用Java客户端调用Go服务端的HTTP-RPC服务

在构建分布式系统时,实现不同编程语言之间的无缝通信是一个常见的需求。本文将详细介绍如何使用Go语言创建一个HTTP-RPC服务,并通过Java客户端进行远程调用。我们将探索整个过程,包括服务端的实现、客户端的编写以及测试验证。 一、背景介绍…

CVPR2024迁移学习《Unified Language-driven Zero-shot Domain Adaptation》

摘要 本文提出了一个名为 Unified Language-driven Zero-shot Domain Adaptation(ULDA)的新任务设置,旨在使单一模型能够适应多种目标领域,而无需明确的领域标识(domain-ID)知识。现有语言驱动的零样本领域…

AI安全风险监测平台:全周期防护体系构建

AI安全风险监测平台通过构建全生命周期防护体系,实现对人工智能系统研发、部署、运行、迭代各阶段的安全风险动态监测。该平台融合算法审计、行为分析、合规验证等核心能力,建立覆盖模型安全、数据安全、应用安全的立体防御网络,为智能系统提…

数据集-目标检测系列- 杯子 数据集 bottle >> DataBall

数据集-目标检测系列- 杯子 数据集 bottle >> DataBall 贵在坚持! * 相关项目 1)数据集可视化项目:gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview 2)数据集训练、推理相关…

视频点播web端AI智能大纲(自动生成视频内容大纲)的代码与演示

通过AI技术将视频课程自动生成结构化大纲和摘要,支持PPT教学视频、企业内训等场景应用。核心功能包括:自动匹配视频知识点生成文本大纲、快速内容定位、降低课程制作成本。系统采用模块化架构,包含Vue2.7前端组件、JS逻辑库和演示项目&#x…

Linux: errno: EINPROGRESS-115

在connect接口的使用说明里,有这个错误:EINPROGRESS。 The socket is nonblocking and the connection cannot be completed immediately. It is possible to select(2) or poll(2) for completion by selecting the socket for writing. After select(2…

Node.js特训专栏-基础篇:3. Node.js内置模块的使用

🔥 欢迎来到 Node.js 实战专栏!在这里,每一行代码都是解锁高性能应用的钥匙,让我们一起开启 Node.js 的奇妙开发之旅! Node.js 特训专栏主页 Node.js内置模块:强大功能的基石 在Node.js的世界里&#xff…

基于MATLAB实现的Capon、MUSIC、ESPRIT和PM算法进行DOA

使用Capon、MUSIC、ESPRIT和PM多种算法进行doa估计,通过谱峰搜索函数估计到达角,并使用蒙特卡洛方法估计各算法的RMSE。(可能计算时间较长,如需节省时间可以减小蒙特卡洛次数) PM.m , 574 RMSE.m , 274 TLS_ESPRIT.m …

某网站极验4滑块验证码逆向分析

文章目录 1. 写在前面2. 接口分析3. w逆向分析4. JSON参数分析5. 距离识别6. RSA纯算还原7. AES纯算还原【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于…

深入理解 C++ inline:三大语法特性 + 七大高频考点全解析

一、什么是内联函数 编译器尝试将 inline 函数的代码直接插入调用处(类似宏展开),避免函数调用的压栈、跳转、返回等额外开销。适用于短小频繁调用的函数:如简单的 getter/setter、数学运算等。inline 只是 建议,编译…

Flink 与 Hive 深度集成

引言 在大数据生态中,Flink 的流批一体化处理能力与 Hive 的数据存储分析优势结合,通过 Flink Connector for Hive 实现无缝对接,能显著提升数据处理效率。本文将系统解析 Flink 与 Hive 集成的核心操作,涵盖配置、读写、优化全流…