You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB中对电路板测试数据表进行分组与部分转置?

MATLAB表格数据重塑:分组转置测试步骤数据

针对你需要将电路板测试数据按SN和Start_Time分组,并将Test_Name转置为列的需求,直接使用MATLAB的unstack函数即可一步完成,无需额外手动分组去重。

原始数据代码

SN = [1; 1; 1; 2; 2; 2];
Start_Time = [10; 10; 10; 20; 20; 20];
Test_Name = {'test_1'; 'test_2'; 'test_3'; 'test_1'; 'test_2'; 'test_3'};
Data = [23; 15; 23; 1; 44; 77];
T1 = table(SN, Start_Time, Test_Name, Data,'VariableNames',{'SN' 'Start_Time' 'Test_Name' 'Data'});

处理代码

% 可选:将Test_Name转为分类变量,确保分组一致性(若原始已是分类可省略)
T1.Test_Name = categorical(T1.Test_Name);

% 执行转置与分组去重:unstack自动按SN+Start_Time分组,将Test_Name转为列
T2 = unstack(T1, 'Data', 'Test_Name');

处理结果

运行后得到的T2结构如下:

SN    Start_Time    test_1    test_2    test_3
__    __________    ______    ______    ______
1     10            23        15        23   
2     20            1         44        77   

特殊情况处理

如果同一SN+Start_Time组合下存在重复的Test_Name(即同一测试步骤多次记录),unstack默认会报错。此时可指定聚合函数处理重复值,例如取第一个值:

T2 = unstack(T1, 'Data', 'Test_Name', 'AggregationFunction', @first);

或取均值:

T2 = unstack(T1, 'Data', 'Test_Name', 'AggregationFunction', @mean);

内容的提问来源于stack exchange,提问作者rl791128

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:03:30