table2timetable
테이블을 타임테이블로 변환하기
구문
설명
는 입력 테이블을 timetable형으로 변환합니다. TT = table2timetable(T)T의 첫 번째 datetime형 또는 duration형 변수는 TT의 행 시간값 벡터가 됩니다. T의 나머지 변수는 TT의 변수가 됩니다.
T가 행 이름이 없는M×N테이블이면TT는M×(N-1)타임테이블입니다.T가 행 이름이 있는M×N테이블이면table2timetable은TT의 변수에T의 행 이름을 할당합니다. 그 결과TT는M×N타임테이블입니다.
타임테이블을 만들고 사용하는 방법에 대한 자세한 내용은 타임테이블 항목을 참조하십시오.
텍스트 또는 스프레드시트 파일의 데이터에서 타임테이블을 만들려면 readtimetable 함수를 사용하십시오.
은 테이블 변수 TT = table2timetable(T,RowTimes=timeVarName)timeVarName을 출력 타임테이블의 행 시간값으로 구성된 벡터로 할당합니다. timeVarName은 datetime형 또는 duration형 값을 포함하는 T의 변수에 대한 이름 또는 인덱스일 수 있습니다. T의 나머지 변수는 TT의 변수가 됩니다.
예제
날짜와 시간을 포함하는 테이블을 타임테이블로 변환합니다.
파일 outages.csv에서 테이블로 정전 데이터를 읽습니다. 테이블에는 정전 시간과 복원 시간 모두가 있습니다.
T = readtable("outages.csv",TextType="string")
T=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ __________ ________________ _________________
"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"
"West" 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault"
"MidWest" 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
"West" 2003-06-18 02:49 0 0 2003-06-18 10:54 "attack"
"West" 2004-06-20 14:39 231.29 NaN 2004-06-20 19:16 "equipment fault"
"West" 2002-06-06 19:28 311.86 NaN 2002-06-07 00:51 "equipment fault"
"NorthEast" 2003-07-16 16:23 239.93 49434 2003-07-17 01:12 "fire"
"MidWest" 2004-09-27 11:09 286.72 66104 2004-09-27 16:37 "equipment fault"
"SouthEast" 2004-09-05 17:48 73.387 36073 2004-09-05 20:46 "equipment fault"
"West" 2004-05-21 21:45 159.99 NaN 2004-05-22 04:23 "equipment fault"
"SouthEast" 2002-09-01 18:22 95.917 36759 2002-09-01 19:12 "severe storm"
"SouthEast" 2003-09-27 07:32 NaN 3.5517e+05 2003-10-04 07:02 "severe storm"
"West" 2003-11-12 06:12 254.09 9.2429e+05 2003-11-17 02:04 "winter storm"
"NorthEast" 2004-09-18 05:54 0 0 NaT "equipment fault"
⋮
테이블을 타임테이블로 변환합니다. 시간이 있는 첫 번째 변수로, OutageTime은 TT의 시간 벡터가 됩니다.
TT = table2timetable(T)
TT=1468×5 timetable
OutageTime Region Loss Customers RestorationTime Cause
________________ ___________ ______ __________ ________________ _________________
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"
2004-04-06 05:44 "West" 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault"
2002-03-16 06:18 "MidWest" 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
2003-06-18 02:49 "West" 0 0 2003-06-18 10:54 "attack"
2004-06-20 14:39 "West" 231.29 NaN 2004-06-20 19:16 "equipment fault"
2002-06-06 19:28 "West" 311.86 NaN 2002-06-07 00:51 "equipment fault"
2003-07-16 16:23 "NorthEast" 239.93 49434 2003-07-17 01:12 "fire"
2004-09-27 11:09 "MidWest" 286.72 66104 2004-09-27 16:37 "equipment fault"
2004-09-05 17:48 "SouthEast" 73.387 36073 2004-09-05 20:46 "equipment fault"
2004-05-21 21:45 "West" 159.99 NaN 2004-05-22 04:23 "equipment fault"
2002-09-01 18:22 "SouthEast" 95.917 36759 2002-09-01 19:12 "severe storm"
2003-09-27 07:32 "SouthEast" NaN 3.5517e+05 2003-10-04 07:02 "severe storm"
2003-11-12 06:12 "West" 254.09 9.2429e+05 2003-11-17 02:04 "winter storm"
2004-09-18 05:54 "NorthEast" 0 0 NaT "equipment fault"
⋮
시간 벡터의 행 시간값을 사용하여 TT의 요소를 참조합니다. 행 시간값을 행을 지정하는 레이블로 처리할 수 있습니다.
TT("2003-02-07 21:15",:)ans=1×5 timetable
OutageTime Region Loss Customers RestorationTime Cause
________________ ___________ _____ __________ ________________ ______________
2003-02-07 21:15 "SouthEast" 289.4 1.4294e+05 2003-02-17 08:14 "winter storm"
정전 기간을 계산합니다. 점 표기법을 사용하여 행 시간값을 벡터로 추출합니다.
TT.OutageDuration = TT.RestorationTime - TT.OutageTime
TT=1468×6 timetable
OutageTime Region Loss Customers RestorationTime Cause OutageDuration
________________ ___________ ______ __________ ________________ _________________ ______________
2002-02-01 12:18 "SouthWest" 458.98 1.8202e+06 2002-02-07 16:50 "winter storm" 148:32:00
2003-01-23 00:49 "SouthEast" 530.14 2.1204e+05 NaT "winter storm" NaN
2003-02-07 21:15 "SouthEast" 289.4 1.4294e+05 2003-02-17 08:14 "winter storm" 226:59:00
2004-04-06 05:44 "West" 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault" 00:26:00
2002-03-16 06:18 "MidWest" 186.44 2.1275e+05 2002-03-18 23:23 "severe storm" 65:05:00
2003-06-18 02:49 "West" 0 0 2003-06-18 10:54 "attack" 08:05:00
2004-06-20 14:39 "West" 231.29 NaN 2004-06-20 19:16 "equipment fault" 04:37:00
2002-06-06 19:28 "West" 311.86 NaN 2002-06-07 00:51 "equipment fault" 05:23:00
2003-07-16 16:23 "NorthEast" 239.93 49434 2003-07-17 01:12 "fire" 08:49:00
2004-09-27 11:09 "MidWest" 286.72 66104 2004-09-27 16:37 "equipment fault" 05:28:00
2004-09-05 17:48 "SouthEast" 73.387 36073 2004-09-05 20:46 "equipment fault" 02:58:00
2004-05-21 21:45 "West" 159.99 NaN 2004-05-22 04:23 "equipment fault" 06:38:00
2002-09-01 18:22 "SouthEast" 95.917 36759 2002-09-01 19:12 "severe storm" 00:50:00
2003-09-27 07:32 "SouthEast" NaN 3.5517e+05 2003-10-04 07:02 "severe storm" 167:30:00
2003-11-12 06:12 "West" 254.09 9.2429e+05 2003-11-17 02:04 "winter storm" 115:52:00
2004-09-18 05:54 "NorthEast" 0 0 NaT "equipment fault" NaN
⋮
테이블을 타임테이블로 변환하고 타임테이블의 타임 벡터가 되는 테이블 변수를 지정합니다.
파일 outages.csv에서 테이블로 정전 데이터를 읽습니다. 테이블에는 정전 시간과 복원 시간 모두가 있습니다.
T = readtable("outages.csv",TextType="string")
T=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ __________ ________________ _________________
"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"
"West" 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault"
"MidWest" 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
"West" 2003-06-18 02:49 0 0 2003-06-18 10:54 "attack"
"West" 2004-06-20 14:39 231.29 NaN 2004-06-20 19:16 "equipment fault"
"West" 2002-06-06 19:28 311.86 NaN 2002-06-07 00:51 "equipment fault"
"NorthEast" 2003-07-16 16:23 239.93 49434 2003-07-17 01:12 "fire"
"MidWest" 2004-09-27 11:09 286.72 66104 2004-09-27 16:37 "equipment fault"
"SouthEast" 2004-09-05 17:48 73.387 36073 2004-09-05 20:46 "equipment fault"
"West" 2004-05-21 21:45 159.99 NaN 2004-05-22 04:23 "equipment fault"
"SouthEast" 2002-09-01 18:22 95.917 36759 2002-09-01 19:12 "severe storm"
"SouthEast" 2003-09-27 07:32 NaN 3.5517e+05 2003-10-04 07:02 "severe storm"
"West" 2003-11-12 06:12 254.09 9.2429e+05 2003-11-17 02:04 "winter storm"
"NorthEast" 2004-09-18 05:54 0 0 NaT "equipment fault"
⋮
테이블을 타임테이블로 변환합니다. 날짜와 시간이 있는 두 번째 변수로, RestorationTime을 타임테이블의 시간 벡터로 지정합니다.
TT = table2timetable(T,RowTimes="RestorationTime")TT=1468×5 timetable
RestorationTime Region OutageTime Loss Customers Cause
________________ ___________ ________________ ______ __________ _________________
2002-02-07 16:50 "SouthWest" 2002-02-01 12:18 458.98 1.8202e+06 "winter storm"
NaT "SouthEast" 2003-01-23 00:49 530.14 2.1204e+05 "winter storm"
2003-02-17 08:14 "SouthEast" 2003-02-07 21:15 289.4 1.4294e+05 "winter storm"
2004-04-06 06:10 "West" 2004-04-06 05:44 434.81 3.4037e+05 "equipment fault"
2002-03-18 23:23 "MidWest" 2002-03-16 06:18 186.44 2.1275e+05 "severe storm"
2003-06-18 10:54 "West" 2003-06-18 02:49 0 0 "attack"
2004-06-20 19:16 "West" 2004-06-20 14:39 231.29 NaN "equipment fault"
2002-06-07 00:51 "West" 2002-06-06 19:28 311.86 NaN "equipment fault"
2003-07-17 01:12 "NorthEast" 2003-07-16 16:23 239.93 49434 "fire"
2004-09-27 16:37 "MidWest" 2004-09-27 11:09 286.72 66104 "equipment fault"
2004-09-05 20:46 "SouthEast" 2004-09-05 17:48 73.387 36073 "equipment fault"
2004-05-22 04:23 "West" 2004-05-21 21:45 159.99 NaN "equipment fault"
2002-09-01 19:12 "SouthEast" 2002-09-01 18:22 95.917 36759 "severe storm"
2003-10-04 07:02 "SouthEast" 2003-09-27 07:32 NaN 3.5517e+05 "severe storm"
2003-11-17 02:04 "West" 2003-11-12 06:12 254.09 9.2429e+05 "winter storm"
NaT "NorthEast" 2004-09-18 05:54 0 0 "equipment fault"
⋮
행 시간값을 포함하는 별도의 시간 벡터를 추가하여 테이블을 타임테이블로 변환합니다.
먼저 숫자형 배열에서 테이블을 만듭니다.
Reading1 = [98;97.5;97.9;98.1;97.9]; Reading2 = [120;111;119;117;116]; T = table(Reading1,Reading2)
T=5×2 table
Reading1 Reading2
________ ________
98 120
97.5 111
97.9 119
98.1 117
97.9 116
그런 다음 seconds 함수를 사용하여 시간 벡터를 지정합니다. Time의 데이터형은 duration형입니다. 시간을 초 단위로 표시하도록 형식이 지정되어 있습니다.
Time = seconds(1:5)
Time = 1×5 duration
1 sec 2 sec 3 sec 4 sec 5 sec
Time을 행 시간값으로 사용하여 테이블을 타임테이블로 변환합니다. 모든 테이블 변수는 타임테이블의 변수가 됩니다.
TT = table2timetable(T,RowTimes=Time)
TT=5×2 timetable
Time Reading1 Reading2
_____ ________ ________
1 sec 98 120
2 sec 97.5 111
3 sec 97.9 119
4 sec 98.1 117
5 sec 97.9 116
테이블을 만듭니다.
Reading1 = [98;97.5;97.9;98.1;97.9]; Reading2 = [120;111;119;117;116]; T = table(Reading1,Reading2)
T=5×2 table
Reading1 Reading2
________ ________
98 120
97.5 111
97.9 119
98.1 117
97.9 116
샘플 레이트를 500Hz로 지정합니다. T를 해당 샘플 레이트와 0초의 시작 행 시간값을 사용하여 타임테이블로 변환합니다.
TT = table2timetable(T,SampleRate=500)
TT=5×2 timetable
Time Reading1 Reading2
_________ ________ ________
0 sec 98 120
0.002 sec 97.5 111
0.004 sec 97.9 119
0.006 sec 98.1 117
0.008 sec 97.9 116
테이블을 만듭니다.
Reading1 = [98;97.5;97.9;98.1;97.9]; Reading2 = [120;111;119;117;116]; T = table(Reading1,Reading2)
T=5×2 table
Reading1 Reading2
________ ________
98 120
97.5 111
97.9 119
98.1 117
97.9 116
seconds 함수를 사용하여 시간 스텝을 10초로 지정합니다. T를 해당 샘플링 레이트와 0초의 시작 행 시간값을 사용하여 타임테이블로 변환합니다.
TT = table2timetable(T,TimeStep=seconds(10))
TT=5×2 timetable
Time Reading1 Reading2
________ ________ ________
00:00:00 98 120
00:00:10 97.5 111
00:00:20 97.9 119
00:00:30 98.1 117
00:00:40 97.9 116
행 시간값으로 구성된 벡터의 형식을 바꾸려면 Format 속성을 새 형식으로 설정합니다.
TT.Time.Format = "s"TT=5×2 timetable
Time Reading1 Reading2
______ ________ ________
0 sec 98 120
10 sec 97.5 111
20 sec 97.9 119
30 sec 98.1 117
40 sec 97.9 116
테이블을 만듭니다.
Reading1 = [98;97.5;97.9;98.1;97.9]; Reading2 = [120;111;119;117;116]; T = table(Reading1,Reading2)
T=5×2 table
Reading1 Reading2
________ ________
98 120
97.5 111
97.9 119
98.1 117
97.9 116
시간 스텝을 10초로 지정하고 시작 시간을 5초로 지정하여 타임테이블로 변환합니다.
dt = seconds(10); t0 = seconds(5); TT = table2timetable(T,TimeStep=dt,StartTime=t0)
TT=5×2 timetable
Time Reading1 Reading2
______ ________ ________
5 sec 98 120
15 sec 97.5 111
25 sec 97.9 119
35 sec 98.1 117
45 sec 97.9 116
입력 인수
입력 테이블
입력 테이블의 변수로, string형 스칼라, 문자형 벡터 또는 숫자형 인덱스로 지정됩니다.
출력 타임테이블에 할당된 행 시간값으로, datetime형 벡터 또는 duration형 벡터로 지정됩니다. rowTimes의 요소의 개수는 입력 테이블의 행 개수와 같아야 합니다. rowTimes의 시간값은 고유하거나 정렬되거나 규칙적이지 않아도 됩니다.
샘플 레이트로, 숫자형 스칼라로 지정됩니다. Fs는 초당 샘플 수(Hz)를 지정합니다.
시간 스텝으로, duration형 스칼라 또는 calendarDuration형 스칼라로 지정됩니다.
데이터형: duration | calendarDuration
시작 시간으로, datetime형 스칼라 또는 duration형 스칼라로 지정됩니다.
t0이 datetime형 값인 경우,TT의 행 시간값은 datetime형 값입니다.t0이 duration형인 경우, 행 시간값은 duration형입니다.
시간 스텝 dt가 calendarDuration형 값인 경우 t0은 datetime형 값이어야 합니다.
데이터형: datetime | duration
출력 인수
팁
행 시간값 사이의 규칙적인 시간 스텝을 지정하는 구문을 사용하여
table2timetable함수를 호출했는데도table2timetable함수가 불규칙적인 타임테이블을 반환하는 경우가 있습니다. 이러한 결과는 달력 시간 단위를 사용하여 시간 스텝을 지정할 때 불규칙적인 스텝을 발생시키는 행 시간값이 포함되어 있는 경우에 발생합니다. 예를 들어, 2026년 1월 31일부터 시작하여 달력상의 월수 1개의 시간 스텝으로 타임테이블을 만든 경우 이 타임테이블은 월에 대해 불규칙적입니다.stime = datetime(2026,1,31); tstep = calmonths(1); T = table([1:3]'); TT = table2timetable(T,TimeStep=tstep,StartTime=stime)
TT = 3×1 timetable Time Var1 ___________ ____ 31-Jan-2026 1 28-Feb-2026 2 31-Mar-2026 3DST(일광 절약 시간제)의 전환이나 윤초인
datetime형 값으로 인해 불규칙성이 발생하는 경우도 있습니다. 다음 표에서는 예기치 않게 불규칙적인 결과를 생성할 수 있는 날짜, 시간 및 시간 스텝을 보여줍니다.행 시간값
시간 스텝
월의 29일, 30일 또는 31일로 지정된 시작 시간.
달력상의 월수 또는 사분기수.
2월 29일로 지정된 시작 시간.
달력상의 연수.
DST에서 표준 시간으로 전환되는 날 오전 1시와 오전 2시 사이의 모든 datetime형 값(이러한 값이 DST가 적용되는 표준 시간대를 갖는 경우).달력상의 일수 또는 월수. 윤초인 모든
datetime형 값(이러한 값의 표준 시간대가UTCLeapSeconds표준 시간대인 경우). 윤초 목록은leapseconds를 참조하십시오.임의의 달력 단위(일수, 주수, 월수, 사분기수 또는 연수)로 지정된 시간 스텝.
확장 기능
table2timetable 함수는 tall형 배열을 지원하지만 다음과 같은 사용법 관련 참고 및 제한 사항이 있습니다.
SampleRate,TimeStep,StartTime이름-값 인수는 지원되지 않습니다.
자세한 내용은 tall형 배열 항목을 참조하십시오.
사용법 관련 참고 및 제한 사항:
SampleRate,TimeStep또는StartTime이름-값 인수를 사용하여 규칙적인 행 시간값을 지정하는 경우, 행 시간값이 규칙적이려면 컴파일할 때 값이 상수여야 합니다. 그렇지 않으면 생성된 코드에서 행 시간값이 불규칙적인 것으로 간주됩니다.입력 테이블이
UserData속성에 대해 비어 있지 않은 값을 갖는 경우, 출력 테이블은 이 값을 포함하지 않습니다. 출력 타임테이블의UserData속성은 항상 비어 있습니다.
자세한 내용은 Code Generation for Timetables (MATLAB Coder) 항목과 Timetable Limitations for Code Generation (MATLAB Coder) 항목을 참조하십시오.
C/C++ 코드 생성 섹션의 사용법 관련 참고 및 제한 사항을 참조하십시오. GPU 코드 생성에도 동일한 사용법 관련 참고 및 제한 사항이 적용됩니다.
스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.
table2timetable 함수는 분산 배열을 지원하지만 다음과 같은 사용법 관련 참고 및 제한 사항이 있습니다.
SampleRate, TimeStep, StartTime 이름-값 인수는 지원되지 않습니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2016b에 개발됨SamplingRate 이름-값 인수는 지원되지 않습니다. SampleRate를 대신 사용하십시오. 대응하는 timetable형의 속성도 SampleRate라는 이름을 갖습니다.
SamplingRate 이름-값 인수는 향후 릴리스에서 지원되지 않을 예정입니다. SampleRate를 대신 사용하십시오. 대응하는 timetable형의 속성도 SampleRate라는 이름을 갖습니다.
이전 버전과의 호환성을 위해 SamplingRate를 이름-값 인수의 이름으로 지정하는 것은 여전히 가능합니다. 단, 이때 이 값은 SampleRate 속성에 할당됩니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)