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.
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.
I think you're looking for transpose :
df.T
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.transpose.html
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")