文档

按行时间和可变类型选择时间表数据

时间表是一种将时间与每一行关联起来的表类型。您可以下标到时间表中,以多种不同的方式选择它的数据子集。要选择具有给定时间范围内的行时间的时间表行,请使用timerange函数。由于时间表是一个表,您可以使用圆括号或花括号对行和变量进行索引。可以对特定的行时间建立索引,或者在使用withtol函数。属性指定的类型匹配的所有变量也可以下标到表或时间表中vartype函数。最后,从时间表中提取数据到矩阵中变量财产。

从文件中创建时间表

从示例文件中创建一个时间表outages.csv其中包含了美国电力供应中断的数据。从文件中读取表readtable函数。转换T.CauseT.Region成分类数组。然后使用。将表格转换为时间表table2timetable函数。显示时间表的前五行。TT是一个时间表,包含从2002年2月到2014年1月的中断数据。

T = readtable (“outages.csv”);T.Cause =分类(T.Cause);T.Region =分类(T.Region);TT = table2timetable (T);: TT (1:5)
ans =5×6时间表OutageTime区域损失客户恢复时间原因________________ _______________ __________ ________________ _______________ 2002-02-01 12:18 SouthWest 458.98 1.8202e+06 2002-02-07 16:50 winter storm 2003-01-23 00:49 SouthEast 530.14 2.1204e+05 NaT winter storm 2003-02-07 21:15 SouthEast 289.4 1.4294e+05 2003-02-17 08:14 winter storm2004-04-06 05:44 West 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

总结时间表和访问行时间

显示TT.它是一个包含1468行和5个变量的时间表。

总结(TT)
RowTimes: OutageTime: 1468x1 datetime Values: Min 2002-02-01 12:18中位数2010-03-18 21:05 Max 2014-01-15 02:41 Variables: Region: 1468x1 categoryvalues: MidWest 142 NorthEast 557 SouthEast 389 SouthWest 26 West 354 Loss: 1468x1 double Values: Min 0中位数180.26 Max 23418 NumMissing 604 Customers: 1468x1 double Values:最小0值75765最大5.9689 e + 328年06 NumMissing RestorationTime: x1 datetime值:1468分钟2002-02-07 16:50值2002-02-07 10:54 Max 2002-02-07二三31 NumMissing 29原因:1468 x1分类值:攻击294地震188能源应急设备故障156火25 95年201年338年暴风雷雨未知24日风145年冬季风暴

访问行时间。行时间不在变量中。相反,行时间向量是时间表的一个属性。但是,您可以使用点语法访问行时间。TT。OutageTime是一个1468乘1的datetime值向量。显示的前5行TT。OutageTime

TT.OutageTime (1:5)
ans =5 x1 datetime数组2002-02-01 12:18 2003-01-23 00:49 2003-02-07 21:15 2004-04-06 05:44 2002-03-16 06:18

时间范围下标

要选择时间范围内的所有时间表行,请创建下标作为助手,使用timerange函数。指定的开始和结束时间不必匹配时间表中的任何行时间。

选择在2002年1月至2003年12月期间发生中断的所有行。显示的前5行TT2

TR = timerange (“2002-01-01”“2003-12-31”);: TT2 = TT (TR);: TT2 (1:5)
ans =5×6时间表OutageTime区域损失客户恢复时间原因________________ _______________ __________ ________________ ____________ 2002-02-01 12:18 SouthWest 458.98 1.8202e+06 2002-02-07 16:50 winter storm 2003-01-23 00:49 SouthEast 530.14 2.1204e+05 NaT winter storm 2003-02-07 21:15 SouthEast 289.4 1.4294e+05 2003-02-17 08:14 winter storm参考译文:美国中西部地区强烈的风暴美国西部00参考译文:美国西部00

显示的最后五行TT2

TT2 (end-4:,)
ans =5×6时间表OutageTime区域损失客户恢复时间原因________________ _______________ __________ ________________ ________________ 2003-09-02 19:46 SouthEast 00 2003-09-16 22:25 severe storm 2003-09-15 14:56 MidWest 418.7 61045 2003-09-22 04:21 thunder storm 2003-09-24 22:43 SouthWest 2576.9 9.4873e+05 2003-09-25 14:46 severe storm 2003-09-1810:40西南301.8 2.3973e+05 2003-09-27 08:17强烈风暴2003-10-11 19:36东南309.8 93582 2003-10-11 19:49能源紧急

TT2是一个只有98行的时间表,仅包含2002年和2003年的中断数据。

指定时间索引

你可以索引到TT用datetime值或字符向量表示TT。OutageTime.但是当您这样做时,您指定的时间必须在时间向量中有精确匹配,并且只选择那些时间。索引TT第一行和第三行TT

TT ({“2002-02-01 12:18:00”“2003-02-07 21:15:00”},:)
ans =2×6时间表OutageTime地区客户RestorationTime造成损失  ________________ _________ ______ __________ ________________ ____________ 2002-02-01西南458.98 - 1.8202 e + 12:18 06 2002-02-01 16:50冬季风暴2003-02-07)21:15东南289.4 - 1.4294 e + 05 2003-02-07 08:14冬季风暴

索引指定的时间与公差

指定时间索引时的容忍值。你可以使用withtol函数创建下标作为助手。输出为withtol,您可以选择在指定公差内匹配的行时间。

索引TT在指定日期。指定一天的公差以返回与指定日期在一天内的行时间。时间必须在datetime或duration向量中,或在字符向量的单元格数组中,该字符向量可以转换为datetime或duration值。公差必须指定为持续时间,使用函数,例如分钟小时,或

rowTimes = {“2002-02-01”“2003-02-07”};S = withtol (rowTimes天(1));TT(年代,:)
ans =2×6时间表OutageTime地区客户RestorationTime造成损失  ________________ _________ ______ __________ ________________ ____________ 2002-02-01西南458.98 - 1.8202 e + 12:18 06 2002-02-01 16:50冬季风暴2003-02-07)21:15东南289.4 - 1.4294 e + 05 2003-02-07 08:14冬季风暴

下标由变量类型

要选择给定类型的所有时间表变量,请创建下标作为助手,使用vartype函数。您可以指定变量类型,而不必指定它们的名称或在时间表中的位置。

选择所有包含数字数据的变量。TT2只包含变量损失客户.的其他三个变量TT是分类变量或日期时间变量。显示的前5行TT2

S = vartype (“数字”);TT2 = TT (:, S);: TT2 (1:5)
ans =5×3的时间表OutageTime Loss Customers ________________ ________________ 2002-02-01 12:18 458.98 1.8202e+06 2003-01-23 00:49 530.14 2.1204e+05 2003-02-07 21:15 289.4 1.4294e+05 2004-04-06 05:44 434.81 3.4037e+05 2002-03-16 06:18 186.44 2.1275e+05

下标在时间范围和变量类型上。

TR = timerange (“2002-01-01”“2003-12-31”);TT2 = TT (TR);: TT2 (1:5)
ans =5×3的时间表OutageTime Loss Customers ________________ ________________ 2002-02-01 12:18 458.98 1.8202e+06 2003-01-23 00:49 530.14 2.1204e+05 2003-02-07 21:15 289.4 1.4294e+05 2002-03-16 06:18 186.44 2.1275e+05 2003-06-18 02:49 00

提取具有变量属性的数据

表格和时间表有一个属性,变量,您可以使用它从变量中提取数据到一个矩阵中,只要变量可以连接在一起。

从中提取数值数据TT2使用变量财产。一个是一个1468乘2的双精度矩阵。从时间表中提取数据到数组时,不包括行时间。

一个= TT2.Variables;:一个(1:5)
ans =5×2106× 0.0005 1.8202 0.0005 0.2120 0.0003 0.1429 0.0002 0.2128 00

的结果TT2。变量与使用花括号提取数据的结果相同,使用TT2 {:,:}语法。

你可以把变量连接起来TT2放入双精度数组中。然而,TT包含不能连接的数字、类别和日期时间变量。的变量属性在无法连接变量时返回错误。要避免这样的错误,可以在使用变量类型之前使用下标变量财产。

下标为TT选择数值变量并将它们提取到一个矩阵中。

一个= TT (: vartype (“数字”.Variables));:一个(1:5)
ans =5×2106× 0.0005 1.8202 0.0005 0.2120 0.0003 0.1429 0.0004 0.3404 0.0002 0.2128

另请参阅

||||||

相关的话题