变压器DGA数据集解析:从Excel表格到故障诊断模型实践

发布时间:2026/9/2 19:56:07

变压器DGA数据集解析:从Excel表格到故障诊断模型实践
简介这份资源是一套面向电力系统运维与科研人员的变压器故障诊断分析数据集采用DGA技术通过油中溶解气体含量判别设备内部故障类型。压缩包共2000个文件大小约81.36MB核心内容为Excel格式的数据表并包含部分辅助展示与处理文件方便在常规办公或编程环境中使用。已有396人学习适合需要真实样本进行建模与验证的读者。数据集内含357组测量样本覆盖7种故障类型与正常状态并划分为原始数据和归一化数据两个工作表可直接用于特征分析、机器学习分类或故障判据研究。样本涉及H2、CH4、C2H6、C2H4、C2H2等关键气体均为实际运行测量值有助于理解气体产生机理与故障对应关系。 干变电运维的朋友应该都有过这种经历设备巡检时发现油中气体异常马上翻出历史台账对着几列气体浓度数据反复琢磨想知道设备到底怎么了。我自己刚接触DGA数据时也一样手里拿到一份Excel格式的变压器故障诊断分析用数据集第一反应就是这些列到底代表什么怎么从一堆浓度数字里判断出故障类型数据能不能直接用来训练诊断模型这篇文章就围绕“变压器故障诊断分析用DGA数据集Excel格式”展开从数据集结构、诊断原理、Excel工程细节到建模应用把一份看似普通的表格里面藏着的东西讲透。适合变电运维人员、设备状态检测工程师以及对电力设备故障诊断感兴趣的算法同学参考尤其是那些拿到DGA数据却不知道从哪下手的读者。1. DGA数据集到底包含什么一张表的“骨架”与业务逻辑1.1 为什么DGA能成为变压器故障诊断的“首选信号”DGA全称是Dissolved Gas Analysis即油中溶解气体分析。它的原理不复杂变压器内部的绝缘油和绝缘纸在电、热作用下会慢慢分解产生氢气、甲烷、乙烷、乙烯、乙炔等特征气体。不同性质的故障——比如局部放电、过热、电弧放电——分解出的气体种类和比例明显不同。所以检测油中溶解气体的组成和浓度就像给变压器做了一次“血液检测”不用停机拆设备就能推断出内部可能存在的问题。这也是DGA在电力行业地位极高的原因。传统的预防性试验往往需要停电而DGA是带电检测取样方便、成本低廉、灵敏度高。一台220kV主变定期取一次油样做色谱分析就能持续跟踪设备状态。尤其在大规模状态检修推进的今天DGA几乎是所有变压器状态评价里权重最高的一个手段。1.2 一份标准DGA数据表应该长什么样我拿到过的DGA数据集通常包含以下几类字段字段类型典型字段说明设备信息设备编号、电压等级、型号用于区分不同变压器采样信息采样日期、运行时长用于趋势分析和产气速率计算气体浓度H2、CH4、C2H6、C2H4、C2H2、CO、CO2核心特征气体单位μL/L衍生参数总烃、绝对产气速率、相对产气速率部分数据集会直接算好工况信息油温、负载、油品型号辅助诊断但常被忽略标签故障类型/诊断结论只有标注过的数据集才有用于监督学习这个表结构看着简单但每一列背后都有讲究。H2主要和低能放电、局部放电相关CH4、C2H6、C2H4则是热分解的产物链——温度越低饱和烃占比越高温度越高不饱和烃越多。C2H2是电弧放电的标志性气体一出现就要高度重视。CO和CO2反映的是固体绝缘绝缘纸的老化程度。理解这些对应关系是后面所有诊断方法的基础。1.3 为什么是Excel格式而不是数据库很多人问DGA数据量又不小为什么市面上流通的数据集大多是Excel格式原因很实际Excel上手门槛低运维人员、试验班组的老师傅都会用。数据导出后可以直接做透视表、看趋势图、加条件格式。几十台主变的数据几百到几千条记录Excel完全跑得动没必要上数据库。更关键的是很多变电站的油色谱在线监测系统或试验报告系统导出的默认格式就是Excel。所以用Excel作为数据集的载体是工程现场自然选择的结果。2. 从气体浓度到故障结论核心诊断逻辑与数据集的对应关系2.1 特征气体与故障类型的对应关系表我梳理过一份DGA常用特征气体对应表这块内容虽然基础但每次用都有新体会故障类型主导特征气体次要气体典型场景局部放电H2为主CH4少量C2H2几乎为零绝缘气隙放电、电晕低温过热300℃CH4、C2H6CO、CO2过负荷、油道堵塞中温过热300-700℃CH4、C2H4C2H6铁心多点接地、接触不良高温过热700℃C2H4、CH4显著H2、C2H6分接开关接触不良、导体过热电弧放电C2H2、H2很高CH4、C2H4绕组击穿、闪络注意一个关键点实际故障很少是单一气体“独唱”大多是几种气体按不同比例“合唱”。这是因为油裂解是一个热力学过程不同温度区间对应不同的断键反应路径。温度越高分子断键越彻底产出的不饱和烃就越多。记住这条链条——温度决定了产物分布产物分布反推故障性质这才是DGA诊断的核心逻辑。2.2 IEC三比值、罗杰斯比值与大卫三角形知道了特征气体还不够工业界更常用的是比值法。最经典的是IEC三比值法取三组比值C2H2/C2H4、CH4/H2、C2H4/C2H6按编码规则映射到故障类型。举一个我实际算过的例子某110kV主变油样检测出C2H28μL/L、C2H435μL/L、CH430μL/L、H260μL/L、C2H625μL/L。算出三组比值C2H2/C2H40.23对应编码1CH4/H20.5对应编码0C2H4/C2H61.4对应编码0。查找编码组合“100”对应的是电弧放电。后来停电检查确认是分接开关触头烧蚀与诊断结论一致。罗杰斯比值法和大卫三角形法原理类似只是编码区间和分类粒度略有差异。它们最大的价值是把“多组分浓度”降维成“比值组合”再用编码查表工程上简单高效。但对于比值落在编码盲区、或者多故障并存的情况规则方法容易误判。这也是后面说的“为什么还要上机器学习”的原因。2.3 数据集如何支撑上面的诊断方法从数据集到诊断结论流程其实就三步先读浓度再算比值最后对照编码表输出故障类型。对无监督场景把编码规则写成Excel公式就能在表格里直接标注出每一条记录对应的故障类型。对有监督的训练场景数据集里那个“故障类型”列就是模型要学习的标签。你可以把DGA数据集理解成两份资源一份是带标签的历史样本用于训练诊断模型另一份是未标注的现场记录用于验证模型泛化能力。Excel格式恰好让这两类数据能在一个文件里共存用筛选功能就能快速区分。3. Excel工程实践格式兼容、读取报错与日期拼接的坑3.1 脏数据才是最普遍的“隐形杀手”我拿到手的大多数DGA数据集第一件事不是建模而是清洗。常见的脏数据形态有这么几类缺失值有些样本只有6组分缺CO2或C2H6。零值低于检测限的气体被记录为0或空这其实是“未检出”不是真的没有。单位不统一有的表格用μL/L有的用ppm虽然数值上1ppm≈1μL/L但混着用容易看错量级。异常大值个别浓度高得离谱往往是录入或标定错误。我的处理原则是缺失值先查原始记录查不到就剔除不盲目填充零值统一标注为“检出限”或保留为0但要单独作为一类处理单位统一换算后再进模型异常值先判断是真实故障还是录入错误避免把极端工况误删。这里提醒一句DGA数据里的“注意值”比如H2150μL/L、C2H25μL/L只是提示你需要关注不等于故障。真正要结合产气速率和趋势来看——单次浓度高可能是取样误差持续上升才是真问题。3.2 “外部表不是预期的格式”到底是怎么回事不少用ArcGIS或其他外部工具去连Excel文件的人都遇到过这个报错“连接到数据库失败。常规功能故障外部表不是预期的格式”。我第一次遇到时也懵后来排查下来问题出在文件格式和扩展名不匹配。最常见的情况是文件实际上是CSV或文本格式但被改成了.xlsx后缀或者文件是从某个监测系统导出的内部结构不是标准的Excel表格。外部工具读取时按标准Excel格式解析自然就失败了。解决办法很简单用Excel打开这个文件如果提示“文件格式和扩展名不匹配”说明这就是个“伪Excel”。把文件另存为真正的.xlsx格式再重新连接问题基本就解决了。还有一个坑是xls和xlsx的兼容问题。老版本的xls是二进制格式新环境里的工具链往往只支持xlsx。用pandas读xls文件时需要安装xlrd且版本不能太高读xlsx则需要openpyxl。代码层面最常见的报错就是Engine缺失import pandas as pd # xlsx文件需要openpyxl引擎 df pd.read_excel(dga_dataset.xlsx, sheet_nameSheet1, engineopenpyxl) # 老式xls文件需要xlrd引擎 df pd.read_excel(dga_data_2019.xls, enginexlrd)第一次跑通后建议用df.info()和df.head()检查一下列名和数据类型尤其是气体浓度列是不是被读成了字符串这是在工程里最容易踩的隐性问题。3.3 Excel中用“”连接文本与日期的正确处理姿势清洗数据时经常要生成类似“2024-03-15检修前采样”这样的描述性字段很多人会直接写A2采样结果日期变成了45000多这样一串数字。原因很简单Excel里日期的本质是序列数直接拼接会显示底层数值。正确做法是用TEXT函数把日期格式化成字符串再拼接TEXT(A2,yyyy-mm-dd) 检修前采样如果数据要精确到秒格式代码可以写成这样TEXT(A2,yyyy-mm-dd hh:mm:ss) 采样记录这个小细节在做DGA数据整理时特别实用。因为现场采样经常一天多台设备、多个油样生成带时间戳的记录字段后续做趋势分析、时间序列建模时能省去大量手工排序的工作。4. 把Excel数据集变成能用的诊断模型特征工程与建模落地4.1 为什么有了IEC三比值还要训练模型有人可能会问既然IEC三比值法已经写成标准了为什么还要训练模型这个问题的答案用过三比值编码的人都会心一笑。三比值法有个天然短板编码区间固定覆盖不了所有实际工况。当比值落在编码表之外的组合时就会得到“无对应故障”或“编码000”的尴尬结论。而且实际故障往往是复合型的——先过热后发展成放电——这类叠加工况单一编码表很难准确描述。机器学习模型就不一样。随机森林、GBDT这类模型可以从历史样本里学到特征与故障类型之间的非线性边界处理复杂工况时比规则法更占优势。我自己在几百条DGA样本上跑过随机森林效果稳定关键特征集中在H2、C2H2、C2H4以及三组比值上和领域知识高度吻合。4.2 特征构造千万别只喂原始浓度DGA数据建模最大的误区是直接拿7种气体浓度当特征丢进模型。这样做会带来两个问题一是不同容量、不同电压等级的变压器气体浓度量级差异巨大模型容易学到设备容量特征而不是故障特征二是浓度绝对值受工况影响大比值的稳定性比绝对值更好。我常用的做法是同时构造两类特征原始浓度直接标准化再额外生成三组比值和总烃、产气速率等衍生特征。特征构造代码不复杂import pandas as pd df pd.read_excel(dga_dataset.xlsx, engineopenpyxl) # 构造比值特征 df[ratio_1] df[C2H2] / (df[C2H4] 1e-6) # 避免除零 df[ratio_2] df[CH4] / (df[H2] 1e-6) df[ratio_3] df[C2H4] / (df[C2H6] 1e-6) # 总烃 df[total_hydrocarbon] df[[CH4, C2H6, C2H4, C2H2]].sum(axis1)这里给分母加一个极小值是为了避免H2或C2H6为0时出现除零错误。很多人在这个细节上踩坑模型训练直接报错还要回头排查半天。样本不平衡也是DGA数据的常态。故障样本尤其是放电类故障占比往往不到5%。这种情况下直接用准确率评估没有意义——全部预测为“正常”就能拿到95%准确率。要么用SMOTE做过采样要么在模型评估里以F1分数和混淆矩阵为准。还有一个容易忽略的问题切分训练集和测试集时务必按时间顺序切不要随机切分。变压器状态是时序演进的随机切分会导致同一台设备不同时期的数据同时出现在训练集和测试集里相当于“用未来预测过去”评估结果虚高得厉害。4.3 从模型到现场两级诊断结构更稳模型训练出来不等于能直接上岗。我实际部署时倾向采用“规则预筛模型兜底”的两级结构先用IEC三比值等规则方法做初步筛选把能明确判别的故障直接锁定对于比值盲区、边界模糊的样本再交给模型判断。这样既保留了规则方法的可解释性又用模型补上了规则覆盖不全的空白现场运维人员也更容易接受。另外模型输出的故障类型标签要尽量和数据集原表的标签体系保持一致方便和现场试验报告比对验证。不要自己造一套新分类体系否则历史数据接不上模型上线后做一致性校验时会非常痛苦。5. 常见问题速查与现场实操经验5.1 DGA数据集使用典型问题速查表问题产生原因解决办法读Excel报“外部表不是预期的格式”扩展名与真实格式不符用Excel另存为标准xlsx再读取pandas读xls报错xlrd版本过高或未安装安装xlrd1.2.0兼容老xls日期列读出来是整形数Excel日期本质是序列数读取时parse_dates或TEXT格式化气体浓度出现大量0值低于检测限记为0统一标记为“检出限”单独处理三比值编码结果为000比值落在编码盲区结合产气速率趋势或交模型判断同一设备浓度波动大取样、工况或检测误差看趋势和产气速率不看单点5.2 我踩过的几个坑第一单位不统一导致的误判。我收到过一份数据前面的记录用μL/L后面几行被改成mL/m³两个单位数值一致但量纲不同稍不注意就会在特征工程里代入错误数值。所以拿到数据的第一步永远是先看单位说明最好让数据提供方在表头里写清楚。第二用原始浓度做距离度量。早期做聚类分析时直接把7种气体浓度标准化后算欧氏距离结果聚类结果完全被C2H2这种浓度波动大的气体主导。后来改成用比值特征和总烃组合结果才合理。第三轻信“标签”。有些数据集里的故障类型是运行人员根据经验填的没有经过停电检修验证。这类标签本身就是有噪的。训练集里这种情况多了模型学到的不是真实故障规律而是标签噪声。所以能拿到经过实验室色谱分析、并经检修验证的诊断结论做标签才比较可靠。第四忽略产气速率。只看单次浓度容易误判。同一个气体浓度一个月升上去的和一年升上去的严重程度完全不同。数据表里如果有历史日期一定要算一下绝对产气速率——国标推荐的一个简单算法是两次采样浓度差除以时间间隔单位用mL/d或μL/L·d。5.3 数据交接的一个习惯建议最后分享一个个人经验。DGA数据集在运维、试验、检修、算法几个角色之间流转时最怕的就是“裸数据”。我强烈建议在Excel文件里额外加一个“数据字典”工作表写清楚每个字段的含义、单位、取值说明和标签含义。这样即使半年后换人接手也能快速读懂数据。这个习惯帮我在多个项目里省掉了大量的沟通成本比任何技术方案都实在。在我自己看来Excel格式的DGA数据集就像是故障诊断现场和算法模型之间的一座桥。它的格式并不“前沿”却恰恰是现场工程师每天都在用、都看得懂的东西。用好这份数据比盲目追求复杂的模型更实用。本文还有配套的精品资源点击获取

相关新闻

Zed Edit Predictions 调整:10月7日起免费版不再提供,附排查与替代方案

Zed Edit Predictions 调整:10月7日起免费版不再提供,附排查与替代方案

2026/9/2 19:56:07

最近在开发群里聊到一个高频话题:Zed 的 AI 辅助功能到底还能不能继续免费用。正好官方也放出了明确通知,核心变化就是标题里的这句话:Edit Predictions 将从免费 Personal 计划中移除,并于 10 月 7 日生效。很多同事第一反应是&q…

Zed免费版取消Edit predictions:AI编辑功能商业化与替代方案

Zed免费版取消Edit predictions:AI编辑功能商业化与替代方案

2026/9/2 19:56:07

最近,Zed 编辑器官方公布了一则订阅计划调整公告:从 10 月 7 日起,Edit predictions(编辑预测)功能将不再包含在免费 Personal 计划中。这则消息在开发者社区里引起了不少讨论,尤其是那些已经把 Zed 当作主…

SIFT算法与全景拼接测试图:牛津VGG数据集完全指南

SIFT算法与全景拼接测试图:牛津VGG数据集完全指南

2026/9/2 19:46:07

简介:一份面向计算机视觉初学者的SIFT算法与全景拼接测试图资源包,内含牛津大学提供的标准图像序列及配套C/C实现代码。测试图覆盖缩放旋转、模糊、仿射、光照、压缩等典型变换场景,具体包括bark、boat、bikes、trees、graf、wall、leuven、u…

Tensor 里的数据到底是怎么组织的?——Shape、Axis、Batch 一篇讲清

Tensor 里的数据到底是怎么组织的?——Shape、Axis、Batch 一篇讲清

2026/9/2 20:56:10

上一篇我们已经知道:深度学习模型真正处理的,是一块一块的 Tensor。但仅仅知道 Tensor 是什么,还远远不够。真正开始接触 PyTorch 后,很快就会遇到:x.shape x.ndim x.reshape(...) x.unsqueeze(...) x.permute(...)以及…

资源站源码选型与部署实战:PHP建站、SEO优化到长期运营

资源站源码选型与部署实战:PHP建站、SEO优化到长期运营

2026/9/2 20:56:10

简介:这是一套基于ASP的完整免费资源站源码,面向网站开发初学者、快速建站用户及二次开发者,可帮助快速搭建并理解完整站点。压缩包内包含完整的前端页面、服务端脚本、数据库配置及样式交互文件,共包含1119个相关文件&#xff0c…

AI视频剪辑工作流:语音转文字与提示词驱动的粗剪实战

AI视频剪辑工作流:语音转文字与提示词驱动的粗剪实战

2026/9/2 20:56:10

在实际的视频剪辑流程中,AI剪视频并不是某一款软件里一个神秘的“一键生成”按钮。真正关键的是你喂给它多少有效信息,以及怎样把语音转文字、AI粗剪、字幕生成、音频处理这些能力按顺序组合起来。很多人卡在中间,不是因为工具不会用&#xf…

绝地潜兵2外观替换MOD安装指南:以VRCChocolateShibuyaMaji为例

绝地潜兵2外观替换MOD安装指南:以VRCChocolateShibuyaMaji为例

2026/9/2 20:56:10

《绝地潜兵2》装备外观类MOD里,像“VRCChocolateShibuyaMaji替换IE-12DS-42”这种命名方式,第一眼容易让人懵。它实际做的事情很直接:把游戏里原本的IE-12和DS-42这两件装备外观,替换成一套以VRCChocolateShibuyaMaji为代号风格的…

Acknowledge 4.2振动测试软件安装配置指南:从驱动到模态分析实战

Acknowledge 4.2振动测试软件安装配置指南:从驱动到模态分析实战

2026/9/2 20:56:10

简介:Acknowledge4.2安装包是一款专为科研、工程与教学场景打造的科学数据采集与分析软件,支持数据采集卡、示波器、信号发生器等多类硬件设备接入,能够实时捕获并记录模拟或数字信号,解决复杂数据的采集与预处理问题。压缩包共63…

电脑弹窗广告怎么彻底关闭?按来源分类逐个设置

电脑弹窗广告怎么彻底关闭?按来源分类逐个设置

2026/9/2 20:46:09

右下角突然冒出一个弹窗,正在写文档或者打游戏的时候被它挡住半屏,那种烦躁感想必很多人都体会过。想找关闭按钮,往往要找半天,有时一着急还误点进去,跳到某个不知名的页面。等你退回来,弹窗已经重新弹了出…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/2 10:08:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/9/2 12:11:52

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/9/1 23:49:08

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

2026/9/2 0:04:59

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

2026/9/2 0:04:59

这次我们来看一个很实用的 DeepSeek 落地场景:用 DeepSeek 把英文视频字幕自动翻译成中文。具体案例是《恶魔君》1989 年第 28 集的英转中字幕任务,标题写得很直白,但背后其实是一整套可以复用的技术流程:字幕解析、模型调用、批量…

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

2026/9/2 0:04:59

当你家里摆着一台天猫精灵,却总希望语音助手偶尔“不正经”一点,不用官方腔回答问题,而是张口就接几句搞笑段子,会是什么体验?我最近动手验证了一下这个想法——没有去改装任何市面上现有的智能音箱,而是直…

远程协作的工作台整理

远程协作的工作台整理

2026/9/2 6:21:32

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/2 6:21:32

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/2 2:45:06

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…