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 Data Import from MATLAB 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!