0

For example

      2017 2018 2019
Bill   10   15  20
Jim    5    10  20

I would like to then turn this into

Name Year Amount
Bill 2017 10 
Bill 2018 15 
Jim  2017 5

etc.

Jpod31
  • 1
  • 1

2 Answers2

0

I think you're looking for transpose :

df.T 

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.transpose.html

grymlin
  • 492
  • 1
  • 9
0

Try with this

import pandas as pd

df = pd.DataFrame({'name': ['Bill', 'Jim'],
                   2017 : [10, 5],
                   2018: [15,10],
                   2019: [20, 20]})
df = df.melt(id_vars=["name",],
        var_name="Year",
        value_name="Amount")

Dev
  • 387
  • 1
  • 12