I have a Pandas dataframe(df1) like below
| Job | Machine | command | Time |
|---|---|---|---|
| One | Moon | sleep | 12:00 |
| Two | Jupiter | python | 13:00 |
I want it to look like the below so I can use df1.to_html (the top line isn't supposed to be header, I'm just not sure how to edit table without that)
| Job | One |
|---|---|
| Machine | Moon |
| command | Sleep |
| Time | 12:00 |
| Job | Two |
| Machine | Jupiter |
| Command | python |
| Time | 13:00 |
I have tried to df1.T to transpose it, and it looks like below which is good, but I couldn't find a way to duplicate indexes and move the columns
| Job | One | TWO |
|---|---|---|
| Machine | Moon | Jupiter |
| command | Sleep | python |
| Time | 12:00 | 13:00 |
I then tried stack df1.T.stack() which looks like below, but doesn't have its own separate indexes.
| Job | One |
|---|---|
| Two | |
| Machine | Moon |
| Jupiter | |
| Command | sleep |
| python | |
| Time | 12:00 |
| 13:00 |
I was then looking at pd.wide_to_long, but I didn't seem to get anywhere with that.
This was closed and linked to melt however I don't seem to see melt working? Melt turns out similar to stack
| Job | One |
|---|---|
| Job | Two |
| Machine | Moon |
| Machine | Jupiter |
| Command | sleep |
| Command | python |
| Time | 12:00 |
| Time | 13:00 |
This is not the same as table 2 which I was looking for.
I have tried df1 =pd.melt(df1.T) and that nearly gets what I need, but I am left with variable without the index?
| variable | value |
|---|---|
| 0 | One |
| 0 | Moon |
| 0 | Sleep |
| 0 | 12:00 |
| 1 | Two |
| 1 | Jupiter |
| 1 | python |
| 1 | 13:00 |
So, the right column is what I want, but left column has lost its index. Job / Machine / Command / Time / Job /Machine / Command / Time etc.