matlab对表格的操作

筛选出特定属性的样本进行操作(删除等)

导入数据

% 删除特定属性的行
clc,clear
opts = spreadsheetImportOptions("NumVariables", 5);
opts.Sheet = "Sheet1";
opts.DataRange = "B2:F155";
opts.VariableNames = ["VarName2", "VarName3", "VarName4", "VarName5", "VarName6"];
opts.VariableTypes = ["double", "double", "categorical", "categorical", "double"];
Untitled = readtable("整理的数据.xlsx", opts, "UseExcel", false);
clear opts

在这里插入图片描述

筛选并删除

A=Untitled(1:20,:);
B=A;
B(B.VarName4=="云南生菜" | B.VarName2==0.338,:) = [];
% |且
% &或

注释:
1.选取云南VarName4为生菜的样本且VarName2值为0.338的样本进行删除。
2. |为且, &为或。

选取具有某些相同属性的样本并将其中数据进行操作(求和,平均等)

在这里插入图片描述
求每一类中第一列数据的平均和求和。

在这里插入图片描述
数据B如图:

wen2_sixlei = ["花菜类" "花叶类" "辣椒类" "茄类" "食用菌" "水生根茎类"];
% 日期
cname = unique(B.VarName5);
D = zeros(length(cname),1);

求平均

for i=1:4
D(i)=mean(B{B.VarName5 == cname(i),1});
% 取wen2_xsrq的第1列求平均值
end

注释:
1.取wen2_xsrq的第1列求平均值
2.B{B.VarName5 == cname(i),1}表格数组的提取方式,
利用逻辑数组进行提取。

求和

for i=1:4
D(i)=sum(B{B.VarName5 == cname(i),1});
% B{B.VarName5 == cname(i),1}为VarName5为cname(i)的第一列向量组
end

注释
1.B{B.VarName5 == cname(i),1}为VarName5为cname(i)的第一列向量组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值