I am working in a python pandas environment :D
Currently, I have a dataframe that looks like this :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9 ex10 ex11 ex12 ex13 ex14 ex15 ex16 ex17 ex18
My goal is to make the dataframe look like this :
0 1 2 3 4 5 6 7 8 category amount
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 9 ex9
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 10 ex10
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 11 ex11
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 12 ex12
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 13 ex13
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 14 ex14
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 15 ex15
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 16 ex16
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 17 ex17
ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 18 ex18
Basically, I want the last 9 column titles and values to become their own rows on 2 new columns while keeping the first 8 columns and rows the same. I am aware that this means the data will be duplicated.
I saw some other answers on stackoverflow use the following code for smaller dataframes but it hasn't worked for me :
df.melt(['Type', 'Class'], var_name='Date', value_name='Value')
(df.set_index(['Type', 'Class'])
.stack()
.rename_axis(['Type', 'Class', 'Date'])
.reset_index(name='Value')
)
Any and all help is appreciated ! Thank you