Average timestamp 20 seconds interval data into hourly
Show older comments
Hi I have a excel file having 2 columns of data i.e. timestamp and vlaues. The timestamp is at interval of 20 seconds. I want this to be averaged on hourly basis . Also data corresponding to timestamp column be averaged.
Also when these 2 columns are averaged. It should update excel file or write it to a new file.
Timestamp data 01.01.2015 00:00:00 10 01.01.2015 00:00:20 12 01.01.2015 00:00:40 14 01.01.2015 00:01:00 8
Answers (2)
dt = datetime('01.01.2015 00:00:00'):seconds(20):datetime('01.01.2015 05:00:00');
val = rand(901,1);
TT = timetable(dt',val);
TT2 = retime(TT,'hourly','mean')
Andrei Bobrov
on 21 Aug 2017
for older version MATLAB:
T = readtable('data.xls');
[Y M D H] = datevec(T{:,1});
[~,~,T.groups] = unique([Y M D H],'rows');
T_temp = varfun(@mean,T,'G','groups');
T_out = T_temp(:,3:4);
T_out.Properties.VariableNames = T.Properties.VariableNames(1:2);
writetable(T_out,'data2.xlsx')
11 Comments
Zargham Ali
on 21 Aug 2017
Edited: Zargham Ali
on 21 Aug 2017
Andrei Bobrov
on 21 Aug 2017
Edited: Andrei Bobrov
on 21 Aug 2017
1) R2013a or R2013b ?
2) My code is working?
Zargham Ali
on 23 Aug 2017
KL
on 23 Aug 2017
You're not importing it correctly. Check
class(T)
class(T{:,1})
class(T{:,2})
Zargham Ali
on 24 Aug 2017
KL
on 24 Aug 2017
@Zargham Ali: Please attach a sample of your data(excel file).
Zargham Ali
on 26 Aug 2017
Zargham Ali
on 2 Sep 2017
Andrei Bobrov
on 2 Sep 2017
T = readtable('B.xls');
[Y,M,D,H] = datevec(T.Timestamp);
[a,~,c] = unique([Y,M,D,H],'rows');
T_out = table(datetime([a,0,0],'F','uuuu-MM-dd'),...
accumarray(c,T.data,[],@mean),'v',{'Timestamp','data'});
Zargham Ali
on 4 Sep 2017
Andrei Bobrov
on 4 Sep 2017
T = readtable('B.xls');
T.Timestamp = datetime(T{:,1},'I','dd.MM.uuuu HH:mm:ss');
[Y,M,D,H] = datevec(T.Timestamp);
[a,~,c] = unique([Y,M,D,H],'rows');
T_out = table(datetime([a,zeros(size(a,1),2)],'F','uuuu-MM-dd HH:mm'),accumarray(c,T.data,[],@mean),'v',{'Timestamp','data'});
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!