乐于分享
好东西不私藏

我用MATLAB写了一个数据清洗APP

我用MATLAB写了一个数据清洗APP

最近做项目,经常花费大量的时间在“数据处理”上,索性我就用MATLAB做了一个数据清洗的APP,目前该APP支持多种数据处理功能,包含:空缺值清洗,异常值清洗以及数据滤波功能。

先来纵览一下“数据清洗APP”的每个界面吧:

主界面:

数据空缺值清洗界面:

数据异常值清洗界面:

数据滤波处理界面:

接下来一一介绍每个功能界面!


一、数据空缺值清洗界面

在这个界面中,你可以采用不同的方法来填充空缺值:常量值、上一个值、下一个值、最邻近值、线性插值、样条插值、k最近邻、保形三次插值(PCHIP)、修正Akima三次插值。

也可以当选择直接删除空缺值所在行:

你也可以指定一个特定的数字,或者字符,来替换你指定的这个数字或字符。比如你的excel数据中有大量的  Inf 或者 NAN 等特殊字符,那么此时你就这样设置APP
在指示符这一栏填入 NAN, 即可开始对所有的NAN字符开始清洗啦。

二、数据异常值清洗界面:

异常值清洗界面,给出了8种异常值检测方法,并且可以针对某一列或者全部列进行异常值检测。
另外针对异常值的处理,也给出了9种异常值处理方法
最后可以方便的导出数据:
以导出异常值检测报告,实际使用中报告以txt文本呈现:
============================================================                  数据异常值检测报告============================================================生成时间:2025-12-01 21:35:34源文件:异常值清洗示例数据1.xls------------------------------------------------------------【数据概况】------------------------------------------------------------  数据行数:6747  数据列数:14  数据总量:94458------------------------------------------------------------【检测设置】------------------------------------------------------------  检测方法:IQR方法(四分位距)  阈值参数:1.5000  检测范围:全部列------------------------------------------------------------【检测结果】------------------------------------------------------------  异常值总数:3430  异常值占比:3.6312%  包含异常值的行数:1491  异常值所在行(前20行):3   4   5  18  19  20  21  22  23  50  51  55  70  71  72  73  74  75  76  77 ...------------------------------------------------------------【各列统计信息】------------------------------------------------------------  ▶ 第 1 列:    均值:3.716542    中位数:3.104000    标准差:2.893466    最小值:0.000000    最大值:16.109000    Q1(25%):1.829000    Q3(75%):4.634000    异常值数量:538  ▶ 第 2 列:    均值:4.078678    中位数:3.461000    标准差:3.152238    最小值:0.000000    最大值:17.129000    Q1(25%):1.982000    Q3(75%):5.246000    异常值数量:390  ▶ 第 3 列:    均值:4.427551    中位数:3.512000    标准差:3.364144    最小值:0.000000    最大值:18.302000    Q1(25%):2.186000    Q3(75%):5.654000    异常值数量:398  ▶ 第 4 列:    均值:4.544697    中位数:3.359000    标准差:3.690132    最小值:0.000000    最大值:19.220000    Q1(25%):2.084000    Q3(75%):6.062000    异常值数量:429 ------------------------------------------------------------【异常值清洗结果】------------------------------------------------------------  处理方法:前后均值替换  清洗后行数:6747  清洗后列数:14============================================================                      报告结束============================================================

三、数据滤波处理界面

已关注

关注

重播 分享

数据滤波处理界面,给出了17种滤波处理方法,并且同样可以针对某一列或者全部列进行滤波处理。
可以实时查看滤波图像:

导出滤波前后对比参数值,实时计算SNR,MSE等指标:

以导出滤波报告,实际使用中报告以txt文本呈现:
════════════════════════════════════════════════════════════════                        数据滤波分析报告════════════════════════════════════════════════════════════════生成时间:2025-12-01 22:01:33源文件:滤波示例数据1.xls────────────────────────────────────────────────────────────────【数据概况】────────────────────────────────────────────────────────────────  数据行数:6747  数据列数:14  采样率:1 Hz  空缺值状态:无空缺值────────────────────────────────────────────────────────────────【滤波设置】────────────────────────────────────────────────────────────────  滤波方法:小波去噪  分解层数:4.0000  小波类型:db4────────────────────────────────────────────────────────────────【各列统计信息】────────────────────────────────────────────────────────────────  ▶ 第 1 列 - 原始数据:    均值:3.716542    标准差:2.893466    最小值:0.000000    最大值:16.109000  ▶ 第 1 列 - 滤波后:    均值:3.716436    标准差:2.741414    最小值:-0.115706    最大值:15.028784  ▶ 第 1 列 - 滤波效果:    信噪比改善:11.26 dB    平滑度提升:78.0%    滤波后SNR:10.79 dB    MSE:0.626914  ▶ 第 2 列 - 原始数据:    均值:4.078678    标准差:3.152238    最小值:0.000000    最大值:17.129000  ▶ 第 2 列 - 滤波后:    均值:4.078470    标准差:2.991897    最小值:-0.417933    最大值:16.454754  ▶ 第 2 列 - 滤波效果:    信噪比改善:11.81 dB    平滑度提升:73.9%    滤波后SNR:11.35 dB    MSE:0.655270  ▶ 第 3 列 - 原始数据:    均值:4.427551    标准差:3.364144    最小值:0.000000    最大值:18.302000  ▶ 第 3 列 - 滤波后:    均值:4.427079    标准差:3.230658    最小值:0.082743    最大值:17.251859  ▶ 第 3 列 - 滤波效果:    信噪比改善:12.81 dB    平滑度提升:73.4%    滤波后SNR:12.46 dB    MSE:0.592786  ▶ 第 4 列 - 原始数据:    均值:4.544697    标准差:3.690132    最小值:0.000000    最大值:19.220000  ▶ 第 4 列 - 滤波后:    均值:4.544292    标准差:3.568577    最小值:-0.188218    最大值:18.033593  ▶ 第 4 列 - 滤波效果:    信噪比改善:13.71 dB    平滑度提升:70.9%    滤波后SNR:13.42 dB    MSE:0.579924────────────────────────────────────────────────────────────────【滤波历史】────────────────────────────────────────────────────────────────  1. 01-Dec-2025 21:53:05 - 方法:卡尔曼滤波,列:1  2. 01-Dec-2025 21:53:19 - 方法:双边滤波,列:1  3. 01-Dec-2025 21:53:28 - 方法:中值滤波,列:1  4. 01-Dec-2025 21:53:31 - 方法:高斯滤波,列:1  5. 01-Dec-2025 21:58:55 - 方法:小波去噪,列:1  6. 01-Dec-2025 22:01:27 - 方法:小波去噪,列:1   2   3   4   5   6   7   8   9  10  11  12  13  14════════════════════════════════════════════════════════════════                          报告结束════════════════════════════════════════════════════════════════

数据清洗软件获取链接

https://mbd.pub/o/bread/aJWWm5tq

点击下方阅读原文,跳转链接。

请注意,本软件是以MATLAB生成得到exe方式发布,双击安装包即可一键式安装,非常方便!

即便你的电脑没有MATLAB这个软件也是可以使用的!

唯一美中不足的就是可能会占用你电脑一部分空间(大约3g左右),介意的小伙伴勿拍!