Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pandas pivot_table: values per column instead of columns per value

I have the following rows:

ID date  value1 value2
1  16-01      1      2
1  16-02      3      4
2  16-01      5      6
2  16-02      7      8

pivot table:

pd.pivot_table(rows,index = ["ID"],values = ["value1","value2"],columns = ["date"]

prints:

   value1      value2
   16-01 16-02 16-01 16-02
ID
1  1     3     2     4
2  5     7     6     8

But I want:

   16-01         16-02
   value1 value2 value1 value2
ID
1  1      2      3      4
2  5      6      7      8

So how can I create all values per column instead of all columns per values?

like image 653
user2583621 Avatar asked Jan 21 '26 11:01

user2583621


1 Answers

Try using .swaplevel and .sortlevel methods

In [15]: pd.pivot_table(rows,index=["ID"],values=["value1","value2"],columns=["d
ate"]).swaplevel(0,1, axis=1).sortlevel(0, axis=1)
Out[15]:
date  16-01         16-02
     value1 value2 value1 value2
ID
1         1      2      3      4
2         5      6      7      8
like image 124
Dmitry Andreev Avatar answered Jan 22 '26 23:01

Dmitry Andreev



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!