how to select data in rows based on date in column
이전 댓글 표시
Analysing climatic data for which Ihave to select certain (period) colums staring from the particular date in excel. Dealing with 3000 rows and 365 columns. Please help me
댓글 수: 2
Kevin Chng
2019년 1월 17일
1) Ensure the relevant column is in datetime dataset
%Ensure the PredictionTable.Time is in datatime datatype.
2) then you could
% get Year 2016 data out for training
tr = timerange('2015-01-01' , '2015-12-31');
PredictionTable_2015 = PredictionTable(PredictionTable.Time(tr),:);
Peter Perkins
2019년 1월 23일
Just to be clear: Kevin is suggesting you use a timetable, and then use timerange to do the subscripting. It's the right suggestion.
답변 (1개)
Greg
2026년 9월 3일 13:58
Hi deepika, Thank you for your question. I agree with Kevin & Peter's comments. Assuming the dates identify the rows, first make sure the date values are stored as datetime. If your data is a timetable, use a timerange to select the desired period:
% PredictionTable is a timetable with dates as its row times
t = timerange(datetime(2015,1,1), datetime(2015,12,31), "closed");
data2015 = PredictionTable(t,:);
If the dates are stored in a variable in an ordinary table, use logical indexing instead:
d = datetime(PredictionTable.Date);
idx = d >= datetime(2015,1,1) & d <= datetime(2015,12,31);
data2015 = PredictionTable(idx,:);
If the dates are column headers rather than row data, the approach is different: convert the variable names to datetime and use them to select columns. “Selecting rows” and “selecting columns” are different operations, so the table layout and a small example would be needed for more specific code.
카테고리
도움말 센터 및 File Exchange에서 Timetables에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!