Time Series with unique column values

조회 수: 8 (최근 30일)
Duy Doan
Duy Doan 2018년 8월 15일
편집: jonas 2018년 8월 15일
I have a csv data file that I've attached. I am looking to split the data into 5 minute intervals and find the mean of each unique column value under 'label' (i.e. 'cpu', 'memory', 'disk') within that interval.
I understand that the discretize function of matlab can bin my datetime data with respect to 'time', however the problem I am having sorting the unique column vectors of 'label' for the bins in order to categorize them individually with respect to their 'label'.
Essentially, I am looking for an output that will resemble something similar to: 'cpu_mean: xxx memory_mean: xxx disk_mean: xxx'
for their respective intervals. But i am not sure how to address the unique column values of 'label'.

답변 (1개)

jonas
jonas 2018년 8월 15일
편집: jonas 2018년 8월 15일
Something like this
data=readtable('sample09.csv')
[G nms]=findgroups(data(:,1));
t = datetime(data{:,2},'InputFormat','yyyy-MM-dd''T''HH:mm:ss.SSSXXX','TimeZone','UTC')
t1=t(G==1);
TT=timetable(t1,data{G==1,3},data{G==2,3},data{G==3,3});
TT=sortrows(TT);
newtime=t1(end):minutes(5):t1(1);
TT_mean=retime(TT,newtime,'mean')
TT_mean.Properties.VariableNames=nms{:,1}'
t1 cpu disk memory
____________________ _____ _____ ______
01-Aug-2018 18:26:00 0.304 0.716 0.294
01-Aug-2018 18:31:00 0.714 0.686 0.252
01-Aug-2018 18:36:00 0.408 0.668 0.554
01-Aug-2018 18:41:00 0.45 0.642 0.516
01-Aug-2018 18:46:00 0.498 0.626 0.366
01-Aug-2018 18:51:00 0.568 0.592 0.286
01-Aug-2018 18:56:00 0.628 0.566 0.388
01-Aug-2018 19:01:00 0.382 0.552 0.322
01-Aug-2018 19:06:00 0.41 0.524 0.568
...
This works if all three measurements are taken at the same times, i.e. for each time you have three values (cpu/disk/memory). This seems to be the case when I checked the data.

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by