当前位置: 首页 > news >正文

MATLAB中的table数据类型:高效数据管理的利器

MATLAB中的table数据类型:高效数据管理的利器

什么是table数据类型?

MATLAB中的table是一种用于存储列向数据的数据类型,它将不同类型的数据组织在一个表格结构中,类似于电子表格或数据库表。自R2013b版本引入以来,table已成为MATLAB中处理表格数据的首选方式。

table的每个列可以包含不同类型的数据(数值、字符、分类、逻辑等),但每列必须具有相同的行数。这种数据结构特别适合处理异构数据集,是数据分析和工作流中的重要工具。

创建table

基本创建方法

这里就如同excel创建的内容一样,只是在matlab中需要使用数组进行创建,需要保证内容维度相同。

% 从工作区变量创建table
names = {'Alice'; 'Bob'; 'Charlie'};
ages = [25; 30; 35];
height = [1.68; 1.82; 1.75];
isStudent = [true; false; false];
%创建table
personTable = table(names, ages, height, isStudent)

在这里插入图片描述

指定列名和行名

表的变量名可以创建时同时生成,或者随后更改

personTable = table(names, ages, height, isStudent, ...'VariableNames', {'FullName', 'Years', 'Height_m', 'IsStudent'}, ...'RowNames', {'Person1', 'Person2', 'Person3'})
% 创建后修改列名
personTable.Properties.VariableNames = {'Name', 'Age', 'Height', 'IsStudent'};

从文件导入数据创建table

表格内容可以直接excel导入,或者CSV文件导入,文件内容如下:
在这里插入图片描述
但是导入之后需要调整标签内容

% 从CSV文件读取
dataTable = readtable('mydata.csv');% 从Excel文件读取
excelTable = readtable('data.xlsx', 'Sheet', 'Sheet1')
% 提取每一行的名字
rowName=excelTable.Var1;
% 删除第一行
excelTable.Var1=[];
% 给每一行名字
excelTable.Properties.RowNames=rowName;% 显示前几行
head(excelTable)

excel直接读入的内容:第一列并不是名字,需要移除后重新添加列名
在这里插入图片描述

访问和操作table数据

数据索引方法

% 使用点表示法访问列
ages = personTable.Age% 使用大括号访问原始数据
firstHeight = personTable{1, 'Height'}% 使用圆括号创建子表
subTable = personTable(1:2, {'Name', 'Age'})% 逻辑索引
students = personTable(personTable.IsStudent,:)

逻辑索引非常像excel中的筛选功能,比如筛选身高超过1.8的人

添加和删除列

% 添加新列
personTable.Gender = categorical({'F'; 'M'; 'M'});
personTable.Weight = [65,70,75]';
% 计算并添加派生列
personTable.BMI = personTable.Weight ./ (personTable.Height.^2);
% 删除列
personTable.IsStudent=[]

派生列是通过已经存在的列计算得到新的列
在这里插入图片描述

排序和筛选

% 按年龄排序
sortedTable = sortrows(personTable, 'Age');
% 筛选特定条件的数据
tallPeople = personTable(personTable.Height > 1.80, :);

在这里插入图片描述

table与其它数据类型的转换

与数组和矩阵的转换

% table转换为矩阵(仅数值数据)
numericData = table2array(personTable(:, {'Age', 'Height'}));% 矩阵转换为table
matrix = rand(5,3);
matrixTable = array2table(matrix, 'VariableNames', {'Var1', 'Var2', 'Var3'});

输出结果

numericData =25.0000    1.680030.0000    1.820035.0000    1.7500matrixTable =5×3 tableVar1        Var2       Var3  _______    ________    _______0.14189     0.65574    0.757740.42176    0.035712    0.743130.91574     0.84913    0.392230.79221     0.93399    0.655480.95949     0.67874    0.17119

总结

MATLAB中的table数据类型为处理表格数据提供了强大而灵活的工具。通过本文介绍的各种方法,你可以初步了解table的使用方法。

相关文章:

  • vr中风--模型部署
  • 短视频一键搬运 v1.7.1|短视频无水印下载 一键去重
  • lost connection to mysql server at ‘reading initial communication packet‘
  • 在力扣刷题中触摸算法的温度
  • Java的Object类
  • DeepSeek R1-0528 新开源推理模型(免费且快速)
  • ADC同步采样
  • vue3项目 前端文件下载的两种工具函数
  • OpenCv高阶(二十)——dlib脸部轮廓绘制
  • 大预言模型提示词技巧:释放AI潜力的关键
  • REALTECK瑞昱推出RTS5411T USB3.2 Gen1x1 超高速 USB 集线器控制器原厂代理分销经销一级代理分销经销
  • 每日八股文
  • 吉林大学操作系统上级实验四(hash存储讲解及顺序存储文件管理实现)
  • 图像数据与显存
  • 宝塔安装WordPress程序
  • Python打卡第39天
  • 嵌入式学习笔记 - freeRTOS任务优先级抢占,时间片抢占的实现机制
  • 330130-045-00-00 Bently Nevada 3300 XL延长电缆
  • 小白成长之路-Linux日志管理
  • 【最小生成树】Prim 算法、Kruskal 算法
  • 现在做网站建设的公司多么/苏州seo快速优化
  • 郑州网站建设推广优化/网站推广费用
  • 兼职做网站设计/快照网站
  • 电商总监带你做网站策划/培训体系搭建
  • 自己做网站上传相册/开网店怎么推广运营
  • 网站浮动窗口怎么做的/全网营销平台