MATLAB Answers

Average every 3 Rows in Single Column in Table

23 views (last 30 days)
I have a column in a table where I want to make a new column of data based on the average of every 3 values in that column. Tried some other solutions here but none seemed to work for me.

Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 21 Feb 2021
Edited: KALYAN ACHARJYA on 21 Feb 2021
Lets consider one Table Example
LastName = {'A';'B';'C';'D';'E';'F'};
Age = [38;43;38;40;49;50];
T = table(LastName,Age);
Table
T =
6×2 table
LastName Age
_______ ___
{'A'} 38
{'B'} 43
{'C'} 38
{'D'} 40
{'E'} 49
{'F'} 50
Access the particular column, let's say age data
age_col=T.Age
Result:
>> age_col=T.Age
age_col =
38
43
38
40
49
50
Now Average the 3 consecutive rows of the column vector. Easiest way reshape the data then mean
data1=reshape(age_col,[3,2])
%........................^ you can generelize this sizes
Next find the mean and transpose
av_result=mean(data1)'
Result:
av_result =
39.6667
46.3333
  2 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by