内江网站开发,医院网站建设 利法拉网络,做网站优化词怎么选择,江苏网页制作报价1 #xff1a;数据清洗
注#xff1a;数据读取
#xff08;1#xff09;读取工作表
% 指定要读取的工作表
filename sales_data.xlsx;
sheetName Sheet2; % 或者使用工作表编号#xff0c;例如#xff1a;sheetNumber 2;% 读取指定工作表的数据
data readtable(fi…1 数据清洗
注数据读取
1读取工作表
% 指定要读取的工作表
filename sales_data.xlsx;
sheetName Sheet2; % 或者使用工作表编号例如sheetNumber 2;% 读取指定工作表的数据
data readtable(filename, Sheet, sheetName);% 显示前几行数据
head(data);2写入工作表
writetable(data, yourfile_modified.xlsx); % 写入到新文件
% 或者覆盖原有文件
% writetable(data, filename);1.1 缺失值检测和处理
a. 检测缺失值
% 检测缺失值
missing_data any(ismissing(data), 2); % 沿着行查找
disp(缺失值的行号);
disp(find(missing_data));1ismissing函数用于检测是否存在缺失值
2any函数用于检测制定逻辑数组中是否存在true的值可以指定检测的维度
3find 函数用于返回逻辑数组中 true 值的索引。对于此用途它用来找出包含缺失值的行号。
b.处理缺失值
删除缺失值
data_clean rmmissing(data);用均值填补缺失值
% 用列的均值填补缺失值
data.SalesVolume fillmissing(data.SalesVolume, movmean, 7); % 例如使用7天移动平均填补2.2异常值检测和处理
a.检测异常值
可以使用IQR方法
1. 计算四分位数和 IQR
% 计算四分位数和 IQR
Q1 prctile(data.SalesVolume, 25);
Q3 prctile(data.SalesVolume, 75);
IQR Q3 - Q1;% 识别异常值
outliers data.SalesVolume (Q1 - 1.5 * IQR) | data.SalesVolume (Q3 1.5 * IQR);
disp(异常值的行号);
disp(find(outliers));prctile(data.SalesVolume, 25)计算 SalesVolume 的第 25 百分位数Q1。prctile(data.SalesVolume, 75)计算 SalesVolume 的第 75 百分位数Q3。IQR Q3 - Q1计算 IQR。
2. 识别异常值
% 识别异常值
outliers data.SalesVolume (Q1 - 1.5 * IQR) | data.SalesVolume (Q3 1.5 * IQR);
disp(异常值的行号);
disp(find(outliers));data.SalesVolume (Q1 - 1.5 * IQR)检查是否有值低于 Q1 - 1.5 * IQR。data.SalesVolume (Q3 1.5 * IQR)检查是否有值高于 Q3 1.5 * IQR。outliers 是一个逻辑向量指示每个数据点是否是异常值。
3. 处理异常值
% 用中位数填补异常值
data.SalesVolume(outliers) median(data.SalesVolume);median(data.SalesVolume)计算 SalesVolume 的中位数。data.SalesVolume(outliers) median(data.SalesVolume);将所有识别为异常值的 SalesVolume 替换为中位数。