指定した時刻の範囲の​行を、元のテーブルか​ら抽出して、新しいテ​ーブルを作りたい

21 次查看(过去 30 天)
DAIKI
DAIKI 2023-3-19
评论: DAIKI 2023-3-20
一つのテーブルの中に、Var1、Var2、・・・、時刻データ(yyyy/mm/dd HH:mm:ss形式)数か月分あるのですが、
その中で、特定の時間帯(例えば06:00:00~12:00:00)のデータ行だけを、抜き取って新しいテーブルを作ることは出来るのでしょうか?

采纳的回答

Atsushi Ueno
Atsushi Ueno 2023-3-20
oldT = timetable2table(readtimetable('outages.csv')); % サンプルデータ(時刻データは1列目にあるものとする)
tod = timeofday(oldT{:,1}); % 時刻データは1列目にあるものとする。これを抜き出し日付データを除く
newT = oldT(tod > '06:00:00' & tod < '12:00:00', :) % 特定の時間帯のデータ行だけを抜き取って新しいテーブルを作る
newT = 291×6 table
OutageTime Region Loss Customers RestorationTime Cause ________________ _____________ ______ __________ ________________ ___________________ 2002-03-16 06:18 {'MidWest' } 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm' } 2004-09-27 11:09 {'MidWest' } 286.72 66104 2004-09-27 16:37 {'equipment fault'} 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-11-13 10:42 {'NorthEast'} NaN 1.4227e+05 2004-11-19 02:31 {'winter storm' } 2005-02-04 08:18 {'MidWest' } NaN NaN 2005-02-04 19:51 {'attack' } 2003-03-27 08:03 {'NorthEast'} 204.79 1.479e+05 2003-03-28 05:54 {'severe storm' } 2003-02-24 06:13 {'SouthEast'} 0 0 2003-02-24 21:18 {'attack' } 2005-06-29 08:37 {'West' } 601.13 32005 2005-06-29 08:57 {'equipment fault'} 2003-04-14 07:11 {'West' } 276.41 1.5647 2003-04-14 08:52 {'equipment fault'} 2005-06-29 11:51 {'MidWest' } 165.77 62167 2005-06-29 15:23 {'thunder storm' } 2002-07-01 08:18 {'MidWest' } 100.71 1.8116e+05 2002-07-01 11:33 {'severe storm' } 2004-07-02 09:16 {'MidWest' } 15128 2.0104e+05 2004-07-06 14:11 {'thunder storm' } 2002-12-10 10:45 {'MidWest' } 14493 3.0879e+06 2002-12-11 18:06 {'unknown' } 2002-05-18 11:04 {'MidWest' } 1389.1 1.3447e+05 2002-05-21 01:22 {'unknown' } 2002-08-17 09:05 {'NorthEast'} 21673 NaN 2002-08-19 21:45 {'unknown' }
  3 个评论
Atsushi Ueno
Atsushi Ueno 2023-3-20
こちらは timetable 版です。
oldTT = readtimetable('outages.csv'); % サンプルデータ(時刻データは1列目にあるものとする)
tod = timeofday(oldTT.OutageTime); % 時刻データを抜き出し日付データを除く
newTT = oldTT(tod > '06:00:00' & tod < '12:00:00', :); % 特定の時間帯のデータ行だけを抜き取って新しいテーブルを作る
DAIKI
DAIKI 2023-3-20
シンプルにできるんですね。自分の持っているデータでも意図したことができました。ご回答ありがとうございました!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 table 的更多信息

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!