Timetable_Averaging values from each month

조회 수: 11 (최근 30일)
Leulaye Maskal
Leulaye Maskal 2021년 10월 21일
댓글: Ritesh 2023년 5월 4일
Timetable Averaging values from each month(Jan-Dec) from all years between 2000-2020. So I would like to have 12 USDM_Index values; one for each month over the 21 years
  댓글 수: 3
Leulaye Maskal
Leulaye Maskal 2021년 10월 21일
I have tried that but its gives me the mean for each month within each yearh so I end up wit 12 * 21 for each month
Ritesh
Ritesh 2023년 5월 4일
monthlyavg = groupsummary(b, 'month', 'monthofyear', 'mean');
%here b is your table

댓글을 달려면 로그인하십시오.

답변 (2개)

Kelly Kearney
Kelly Kearney 2021년 10월 21일
I don't believe you can use retime to build a climatology; for that, I usually use the splitapply function. Unfortunately, splitapply's syntax for tables and timetables is very clunky (there's no easy way to apply the same function to all variables), hence my casting to and from arrays in the following example:
% The original timetable
T = timetable(datetime(2000,1:24,1)', rand(24,1), rand(24,1), ...
'VariableNames', {'USDM_index', 'other'});
% Calculate climatological monthly average
[g, mn] = findgroups(month(T.Time));
xclim = splitapply(@(x) mean(x,1), table2array(T), g);
% Reformat to timetable
refyr = min(year(T.Time)); % ... or whatever you want
Tclim = array2timetable(xclim, 'RowTimes', datetime(refyr,mn,1), ...
'VariableNames', T.Properties.VariableNames);

Duncan Po
Duncan Po 2021년 10월 22일
Use groupsummary with 'monthofyear' binning
T = timetable(datetime(2000,1:(12*21),1)', rand(12*21,1), 'VariableNames', {'USDM_index'});
S = groupsummary(T, 'Time', 'monthofyear', 'mean')
S = 12×3 table
monthofyear_Time GroupCount mean_USDM_index ________________ __________ _______________ 1 21 0.44367 2 21 0.44095 3 21 0.52971 4 21 0.66029 5 21 0.45509 6 21 0.59956 7 21 0.56916 8 21 0.49774 9 21 0.49873 10 21 0.49883 11 21 0.48883 12 21 0.56189

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by