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

조회 수: 11 (최근 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에서 日付と時刻에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!