How to convert daily data to monthly?
Afficher commentaires plus anciens
I have huge number of precipitation daily data in a column (say for 60 years) for 400 meteorological stations. Now I need to convert it to monthly. How can I do that? thanks.
2 commentaires
per isakson
le 5 Déc 2012
Months have 28, 29, 30 or 31 days, which makes it a bit tricky.
Do you have a table with
date, value
rather than just a column?
Does the length of the months matter?
Mohammad
le 5 Déc 2012
Réponses (5)
Andrei Bobrov
le 5 Déc 2012
Modifié(e) : Andrei Bobrov
le 5 Déc 2012
one way
M - your data matrix with 4 columns < Year Month Day data > - double type
[a,~,c] = unique(M(:,1:2),'rows');
out = [a, accumarray(c,M(:,4),[],@mean)];
Chad Greene
le 5 Nov 2014
downsample_ts can do this by
precip_monthlymean = downsample_ts(precip_daily,t_daily);
2 commentaires
ABDULLA RAHIL
le 25 Août 2016
Hi Chad I tried to use this equation but i couldn't i have a daily data and want to have monthly data
Chad Greene
le 31 Août 2016
My mistake--
precip_monthlymean = downsample_ts(precip_daily,t_daily,'monthly','mean');
Babak
le 5 Déc 2012
0 votes
Every 30 data rows, I would average them out and save it in 1 row.This way, 30 days shrinks down to 1 data (a month). Or another way, you can simply delete 29 data rows and keep only one from every 30 data rows.
per isakson
le 5 Déc 2012
Modifié(e) : per isakson
le 5 Déc 2012
Given thirty days in every month try this
daily_val = rand( 30*12, 1 );
daily_val = reshape( daily_val, 30, [] );
monthly_val = sum( daily_val, 1 );
here I assume that the first value in daily_val is the first value of a month. This is intended as a start.
ABHILASH SINGH
le 13 Mar 2020
0 votes
Catégories
En savoir plus sur Data Type Conversion dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!