Adding Matching Data from multiple rows

2 Ansichten (letzte 30 Tage)
Maddie Long
Maddie Long am 18 Mär. 2022
Bearbeitet: Stephen23 am 18 Mär. 2022
I have a 10x2 table of data and I want to add all the matching names in col 1 data in col 2
A = 10×2 table
Name Num
___________________ ___
Business Name One 6
Business Name Two 3
Business Name Three 1
Business Name One 5
Business Name Two 22
Business Name Three 2
Business Name One 6
Business Name Two 3
Business Name Three 32
Bussiness Name Three 4
I would like the output to be
Name Num
___________________ ___
Business Name One 17
Business Name Two 28
Business Name Three 39
But I cannot figure out a way to match all the unique names and then add the second column after. I have tried a few different ways without success.
Any help would be appreciated!

Akzeptierte Antwort

Stephen23
Stephen23 am 18 Mär. 2022
Bearbeitet: Stephen23 am 18 Mär. 2022
Name = ["One";"Two";"Three";"One";"Two";"Three";"One";"Two";"Three";"Three"];
Num = [6;3;1;5;22;2;6;3;32;4];
inp = table(Name,Num)
inp = 10×2 table
Name Num _______ ___ "One" 6 "Two" 3 "Three" 1 "One" 5 "Two" 22 "Three" 2 "One" 6 "Two" 3 "Three" 32 "Three" 4
[G,Name] = findgroups(inp.Name);
Num = splitapply(@sum,inp.Num,G);
out = table(Name,Num)
out = 3×2 table
Name Num _______ ___ "One" 17 "Three" 39 "Two" 28
This is one of the approaches shown here:
  1 Kommentar
Maddie Long
Maddie Long am 18 Mär. 2022
Thank you so much, I knew it was something simple! You rock

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

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!

Translated by