table2timetable
table の timetable への変換
構文
説明
は、入力 table を timetable に変換します。TT = table2timetable(T)T 内の最初の datetime または duration 変数が、TT の行時間のベクトルになります。T の残りの変数が TT の変数になります。
Tが行名のないM行N列の table の場合、TTはM行(N-1)列の timetable です。Tが行名のあるM行N列の table の場合、table2timetableはTの行名をTTの変数に割り当てます。その結果、TTはM行N列の timetable となります。
timetable の作成および使用の詳細については、timetableを参照してください。
テキスト ファイルまたはスプレッドシート ファイルのデータから timetable を作成するには、readtimetable 関数を使用します。
は、table 変数 TT = table2timetable(T,RowTimes=timeVarName)timeVarName を出力 timetable の行時間のベクトルとして割り当てます。timeVarName は datetime または duration 値を含む T 内の任意の変数の名前またはインデックスにすることができます。T の残りの変数が TT の変数になります。
例
日付と時刻を含む table を timetable に変換します。
ファイル outages.csv から停電データを table に読み取ります。table には停電と復旧の両方の時刻が含まれています。
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"
⋮
table を timetable に変換します。時刻のある最初の変数 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
⋮
table を timetable に変換し、timetable の時間ベクトルになる table 変数を指定します。
ファイル outages.csv から停電データを table に読み取ります。table には停電と復旧の両方の時刻が含まれています。
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"
⋮
table を timetable に変換します。日付と時刻のある 2 番目の変数 RestorationTime を、timetable の時間ベクトルとして指定します。
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"
⋮
行時間を含む個別の時間ベクトルを追加して、table を timetable に変換します。
まず、数値配列から table を作成します。
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 を行時間として使用して、table を timetable に変換します。すべての table 変数が timetable の変数になります。
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
table を作成します。
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
500 Hz のサンプル レートを指定します。そのサンプル レートと 0 秒の行の開始行時間を使用して、T を timetable に変換します。
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
table を作成します。
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 秒のタイム ステップを指定します。そのサンプリング レートと 0 秒の行の開始行時間を使用して、T を timetable に変換します。
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
table を作成します。
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 秒の開始時間を指定して timetable に変換します。
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
入力引数
入力 table。
入力 table からの変数。string スカラー、文字ベクトル、または数値インデックスとして指定します。
出力 timetable に割り当てられる行時間。datetime ベクトルまたは duration ベクトルとして指定します。rowTimes の要素数は、入力 table の行数と等しくなければなりません。rowTimes の時間値は、一意であったり、並べ替えられていたり、規則的な値である必要はありません。
サンプル レート。数値スカラーとして指定します。Fs は 1 秒あたりのサンプル数 (Hz) を指定します。
タイム ステップ。duration スカラーまたはカレンダー期間スカラーとして指定します。
データ型: duration | calendarDuration
開始時間。datetime スカラーまたは duration スカラーとして指定します。
t0が datetime 値である場合、TTの行時間は datetime 値です。t0が duration である場合、行時間は duration です。
タイム ステップ dt がカレンダー期間の値である場合、t0 は datetime 値でなければなりません。
データ型: datetime | duration
出力引数
ヒント
場合によっては、行時間の間の一定のタイム ステップを指定する構文を使用して
table2timetableを呼び出すこともできますが、それでもtable2timetableは不規則な timetable を返します。タイム ステップをカレンダーの時間単位を使用して指定し、不規則なステップを発生させる行時間が存在する場合に、このような結果が発生します。たとえば、2026 年 1 月 31 日から始まり、タイム ステップが 1 カレンダー月の timetable を作成した場合、月に関して不規則になります。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 3夏時間 (DST) からの移行、またはうるう秒である
datetime値が原因で不規則性が発生する場合もあります。次の表は、予期しない不規則な結果が発生する可能性がある日付、時刻、およびタイム ステップを示しています。行時間値
タイム ステップ
月の 29 日、30 日または 31 日として指定する開始時間。
カレンダー月または四半期の数。
2 月 29 日として指定する開始時間。
カレンダー年の数。
DST から標準時間に移行する日の午前 1 時と午前 2 時の間に発生するすべての datetime値 (それらの値のタイム ゾーンで DST が適用される場合)。カレンダー日またはカレンダー月の数。 うるう秒であるすべての
datetime値 (それらの値のタイム ゾーンがUTCLeapSecondsタイム ゾーンである場合)。うるう秒のリストについては、leapsecondsを参照してください。任意のカレンダー単位 (日、週、月、四半期、年) で指定されているタイム ステップ。
拡張機能
table2timetable 関数は tall 配列をサポートしていますが、以下の使用上の注意および制限があります。
名前と値の引数
SampleRate、TimeStep、およびStartTimeはサポートされません。
詳細については、tall 配列を参照してください。
使用上の注意および制限:
SampleRate、TimeStep、またはStartTimeの名前と値の引数を使用して規則的な行時間を指定する場合、行時間を規則的にするにはコンパイル時に値は定数でなければなりません。そうしない場合、行時間は生成されたコードで不規則であると見なされます。入力 table の
UserDataプロパティの値が空でない場合、その値は出力には含まれません。出力 timetable のUserDataプロパティは常に空です。
詳細については、timetable のコード生成 (MATLAB Coder)およびコード生成における timetable の制限事項 (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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の 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)