文件帮助中心
转换表或时间表变量指定的数据类型
T2 = convertvars(T1,乏,的dataType)
示例
T2 = convertvars(T1.那瓦尔那的dataType)将指定的变量转换为指定的数据类型。输入参数T1.可以是表或时间表。
T2 = convertvars(T1.那瓦尔那的dataType)
T1.
瓦尔
的dataType
虽然你可以指定的dataType作为数据类型的名称,还可以将其指定为函数句柄。在这种情况下,它是一个函数的句柄,用于转换或修改指定的变量瓦尔。同样地,瓦尔可以包含变量名或变量位置在T1.,也可以是标识变量的函数句柄。
全部折叠
从含有上电停电数据的电子表格读取的表。该表具有文本变量显示每个停电区域和原因,日期时间变量显示停机和恢复时间,并呈现受影响的客户的功率损耗和数量数值变量。显示前五行。
T1 = readtable ('outages.csv');头(T1, 5)
ans =5×6表地区OutageTime客户流失RestorationTime原因_____________ ________________ ______ __________ ________________ ___________________ { '西南'} 2002-02-01 12:18 458.98 1.8202e + 06 2002年2月7日16:50 { '暴风雪'} { '东南'} 2003-01-23零点49 530.14 2.1204e + 05的NaT { '冬季风暴'} { '东南亚'} 2003-02-07 21:15 289.4 1.4294e + 05 2003-02-17 8时14分{ '冬季风暴'} { '西'} 2004-04-06 05:44 434.81 3.4037e + 05 2004-04-06 06:10 { '设备故障'} {“中西部地区} 2002年3月16日06:18 186.44 2.1275e +05 2002-03-18 23:23 { '强风暴'}
转换变量地区和导致分类变量。请注意,分类值不会用引号显示。
地区
导致
T2 = convertvars (T1, {“区域”那“原因”},“分类”);头(T2,5)
ans =5×6表区域中断时间损失客户恢复时间原因_________ ________________ ________________ ________________ _______________ SouthWest 2002-02-01 12:18 458.98 1.8202e+06 2002-02-07 16:50 winter storm SouthEast 2003-01-23 00:49 530.14 2.1204e+05 NaT winter storm SouthEast 2003-02-07 21:15 289.4 1.4294e+05 2003-02-17 08:14 winter storm West2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10设备故障中西部2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23
将变量转换为提供不同功能的数据类型是很方便的。例如,现在T2。地区是分类变量,可以使用派功能按区域进行停电的饼图。但你不能使用T1.Region作为输入参数派,因为变量包含文本,而不是分类数据。
T2。地区
派
T1.Region
馅饼(T2.Region)
检测哪些表变量是datetime数组。然后使用datetime函数的参数convertvars函数来指定时区和显示格式。
datetime
convertvars
阅读断电数据表中并显示前三排。
T1 = readtable ('outages.csv');头(T1, 3)
ans =3×6表地区OutageTime RestorationTime造成损失客户 _____________ ________________ ______ __________ ________________ ________________ {' 西南的}2002-02-01 12:18 458.98 - 1.8202 e + 06 2002-02-01 16:50{“暴风雪”}{“东南”}2003-01-23 00:49 530.14 - 2.1204 e + 05 NaT{“暴风雪”}{“东南”}2003-02-07)21:15 289.4 - 1.4294 e + 05年2003-02-0708:14{“暴风雪”}
中的datetime数组T1.不要设置时区。不需要指定表变量的名称或位置,就可以使用功能手柄到isdatetime函数。(函数句柄是存储与函数关联的变量。你可以使用函数句柄将一个函数传递给另一个函数。例如,指定@isdatetime该句柄传递给convertvars)。然后您可以转换所有的datetime变量,使它们具有时区和不同的显示格式。这种技术在转换具有相同数据类型的许多表变量时非常有用。
isdatetime
@isdatetime
打电话给convertvars函数。要修改到位的时区和格式,指定匿名函数调用datetime函数与“时区”和“格式”名称 - 值对的参数。(匿名函数不存储在一个程序文件。它可以是,只需要一个简单的定义,功能是有用的。在这种情况下,它也允许通话datetime与多个输入,而传递convertvars只接受一个输入的函数,如convertvars需要。)显示第一三行,表示格式的变化。
“时区”
“格式”
modifyTimeZoneAndFormat = @(X)(日期时间(X,“时区”那UTC的那“格式”那'MMM dd, yyyy, HH:mm z'));T2 = convertvars(T1,@ isdatetime,modifyTimeZoneAndFormat);头(T2,3)
ans =3×6表地区OutageTime客户流失RestorationTime原因_____________ _______________________ ______ __________ _______________________ ________________ { '西南'} 2002年2月1日,12:18 UTC 458.98 1.8202e + 06 2002年2月7日,16:50 UTC { '暴风雪'} { '东南'} 2003年1月23日,00:49 UTC 530.14 2.1204e + 05的NaT { '暴风雪'} { '东南'} 2003年2月7日,21:15 UTC 289.4 1.4294e + 05 2003年2月17日,08:14 UTC{“冬季风暴”}
输入表,指定为表或时间表。
如果T1.是时刻表,那你就不能用了convertvars转换其行次,因为该行时间不时间表变量包含。行时间是时间表的元数据。
变量在输入表或时间表,指定为字符向量,特征向量的单元阵列中,字符串数组,数字数组,逻辑阵列,或功能句柄。
如果瓦尔是函数句柄,则该函数必须接受一个输入参数,标识其数据类型,并返回逻辑标量。例如,使用theISNUMERIC函数来检测哪些变量是数值的。
ISNUMERIC
例子:T2 = convertvars(T1, '区域', '绝对')转换变量的类型地区。
T2 = convertvars(T1, '区域', '绝对')
例子:T2 = convertvars(T1,[1,3:6], '字符串')将位置指定的变量转换为字符串数组。
T2 = convertvars(T1,[1,3:6], '字符串')
例子:T2 = convertvars (T1、@isnumeric int32)将所有数值变量转换为32位整数。
T2 = convertvars (T1、@isnumeric int32)
转换变量的数据类型,指定为字符向量、字符串标量或函数句柄。
如果的dataType是函数句柄,则该函数必须接受一个输入参数并将其转换为另一种数据类型。例如,串函数将输入参数转换为字符串数组。
串
该表显示许多常见的数据类型的名称。
“单一”
“双”
“int8”
“int16”
'INT32'
“int64”
'UINT8'
'UINT16'
“uint32”
'UINT64'
“逻辑”
1
真正的
0.
假
“字符串”
“细胞”
'cellstr'
“分类”
“日期时间”
“持续时间”
“calendarDuration”
如果您指定“字符”作为数据类型,则convertvars将变量转换为字符数组。最佳实践是避免创建字符数组的表或时间表变量。相反,考虑将变量转换为字符串数组、分类数组或字符向量的单元格数组。
“字符”
例子:T2 = convertvars(T1, 'OutageTime', '日期时间')转换变量的类型OutageTime。
T2 = convertvars(T1, 'OutageTime', '日期时间')
OutageTime
例子:T2 = convertvars(T1, '地区',@分类)转换使用函数句柄可变分类函数。
T2 = convertvars(T1, '地区',@分类)
分类
使用注意事项及限制:
不支持函数句柄。金宝app
第二个和第三个输入参数(瓦尔和的dataType)必须是恒定的。
您不能指定的dataTypeas.“字符”。
有关更多信息,请参见代码生成的表(MATLAB编码器)和代码生成的表限制(MATLAB编码器)。
addvars|mergevars|movevars|removevars|renamevars|splitvars
addvars
mergevars
movevars
removevars
renamevars
splitvars
在您的系统中存在这个示例的修改版本。你想打开这个版本吗?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
与当地办事处联系
得到审判现在