Reputation: 13
I have a table that I want to pivot
but the dates are in columns and I'm not sure how I can pivot all columns, after that I can pd.to_datetime and sort it.
any help is appreciated.
Upvotes: 1
Views: 64
Reputation: 862681
I think you need melt
:
df = df.melt(id_vars=['Country Name','Country Code'], value_name='year', var_name='val')
print (df.head())
Country Name Country Code val year
0 Argentina ARG 1961 20.310698
1 Brazil BRA 1961 31.302529
2 Chile CHL 1961 6.568982
3 China CHN 1961 15.253994
4 Colombia COL 1961 8.082284
df = (df.set_index(['Country Name','Country Code'])
.stack()
.reset_index(name='val')
.rename(columns={'level_2':'year'}))
print (df.head())
Country Name Country Code year val
0 Argentina ARG 1961 20.310698
1 Argentina ARG 1962 28.871842
2 Argentina ARG 1963 25.591154
3 Argentina ARG 1964 28.774617
4 Argentina ARG 1965 21.232935
Upvotes: 1