Customized datetime format within table
7 次查看(过去 30 天)
显示 更早的评论
Hi all,
I am trying to compare 2 tables (for both 1st column is datetime, others are numbers). I am trying to find the common timeperiod between those 2 tables. Unfortunately, days are not the same. My original idea is to convert dates into string and look for matching strings between both tables.
Question:
I am a beginner at Matlab, is there a better way to do it? If not, is there an elegant way to get rid of the 2 loops?
Here is the script for the transformation shown in the workspace
------------------------------------------------------------
A1 = readtable(file_name,'VariableNamingRule','preserve'); clc;
B1 = readtable('Independant variables.xlsx');
for i = 1:height(A1)
A2{i,1} = extractBetween(datestr(A1{i,1}),4,11);
end
for j = 1:height(B1)
B2{j,1} = extractBetween(datestr(B1{j,1}),4,11);
end
------------------------------------------------------------
Thanks and best regards,
3 个评论
采纳的回答
更多回答(1 个)
Peter Perkins
2023-12-4
Vic, I think you want synchronize.
tt1 = timetable([1;2;3;4;5],RowTimes=datetime(2023,1:5,1))
tt2 = timetable([6;7;8;9;10],RowTimes=datetime(2023,1:5,[31 28 31 30 31]))
tt3 = synchronize(tt1,tt2,"monthly","firstvalue");
tt3.Time.Format = "MMM-uuuu"
If you don't want the two timetables joined together, use retime on the second one with the first one's time vector as the target row times.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Timetables 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!