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!