Hello, I have a table contains the calendar day of the year and 24-hour frequency. How to get daily max, min, and average temperature from the table?
1 回表示 (過去 30 日間)
古いコメントを表示
1 件のコメント
Star Strider
2023 年 7 月 11 日
A relatively straightforward way is to use table2timetable and then retime. The year-month-day information is a bit ambiguous (at least in the sample provided), so you may need to specify it in an options structure created by the detectImportOptions function.
採用された回答
Voss
2023 年 7 月 11 日
Here's one approach:
% a table similar to yours, with only a few days, and only the relevant columns:
t = table(repelem({'2005-01-01'; '2005-02-01'; '2005-03-01'},96,1),-12.35+0.1*(1:288).','VariableNames',{'DAY','AIR_TEMP_DEG_C'})
% group the DAYs together:
[g, g_id] = findgroups(t.DAY);
% (g_id contains your days, if you should need it:)
g_id
% find the min, max, and mean of AIR_TEMP_DEG_C for each DAY:
[min_all, max_all, mean_all] = splitapply(@get_min_max_mean, t.AIR_TEMP_DEG_C, g)
function [min_val, max_val, mean_val] = get_min_max_mean(in)
min_val = min(in);
max_val = max(in);
mean_val = mean(in);
end
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Spline Postprocessing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!