Filter löschen
Filter löschen

How to create a pivot table

41 Ansichten (letzte 30 Tage)
alpedhuez
alpedhuez am 29 Jun. 2020
Beantwortet: Lola Davidson am 17 Mär. 2023
I have a table
date person spendings
----------------------------------------
1/1/2020 John $100
1/1/2020 Mike $50
1/2/2020 John $75
1/3/2020 Mike $40
I want to create a pivot table
John Spendings Mike Spendings
----------------------------------------------------------------------------------
January 2020
February 2020
March 2020
Please advise.

Akzeptierte Antwort

Maadhav Akula
Maadhav Akula am 2 Jul. 2020
I think the unstack function might help you out. I have written a small example using your data:
month = categorical({'Jan';'Jan';'Feb';'March'});
person = categorical({'John';'Mike';'John';'Mike'});
spendings = [100;50;75;40];
T = table(month,person,spendings)
u = unstack(T,'spendings','person')
I think you can customise it according to your needs.
Hope this helps!
  3 Kommentare
Maadhav Akula
Maadhav Akula am 2 Jul. 2020
You can utilize the month and datetime functions to tweak them to your required format.
a = month(datetime('1/1/2020','InputFormat','dd/MM/yyyy'),'shortname')
The above line returns the Month in 'Mmm' format, for instance January as 'Jan'. You can tweak some of these properties to obtain the required values which best suits your requirements.
alpedhuez
alpedhuez am 3 Jul. 2020
Bearbeitet: alpedhuez am 3 Jul. 2020
date=datetime(T2.yyyy_mm,'InputFormat','yyyy-MM');

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Lola Davidson
Lola Davidson am 17 Mär. 2023
As of R2023a, you can use the "pivot" function: https://www.mathworks.com/help/matlab/ref/pivot.html
Tout = pivot(Tin, Rows="date", RowsBinMethod="month", Columns="person", DataVariable="spendings");

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by