How do I split a MATLAB table into seperate tables by date?
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Bhavishey Thapar
am 20 Jul. 2022
Kommentiert: Voss
am 25 Jul. 2022
I have a table with a datatime and temperature column that I want to split into seperate tables based on date. For example, I want to split the below table into 3 sperate tables because there are 3 different days in the table.
Date Temperature
2022-05-21 12
2021-05-21 19
2022-05-21 24
2022-06-01 21
2022-06-01 22
2022-06-04 25
How do I do this?
0 Kommentare
Akzeptierte Antwort
Voss
am 20 Jul. 2022
Here's one way:
t = table( ...
{'2022-05-21';'2021-05-21';'2022-05-21';'2022-06-01';'2022-06-01';'2022-06-04'}, ...
[12;19;24;21;22;25], ...
'VariableNames',{'Date' 'Temperature'})
[uu,~,jj] = unique(t.Date);
nuu = numel(uu);
c = cell(nuu,1);
for ii = 1:nuu
c{ii} = t(jj == ii,:);
end
c
c{:}
Looks like 4 different dates, but maybe the 2021 is a typo.
2 Kommentare
Weitere Antworten (1)
Walter Roberson
am 21 Jul. 2022
t = table( ...
{'2022-05-21';'2021-05-21';'2022-05-21';'2022-06-01';'2022-06-01';'2022-06-04'}, ...
[12;19;24;21;22;25], ...
'VariableNames',{'Date' 'Temperature'})
G = findgroups(t.Date);
c = splitapply(@(varargin) {table(varargin{:}, 'VariableNames', t.Properties.VariableNames)}, t, G);
c
Siehe auch
Kategorien
Mehr zu Tables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!