我有一张我想要转动的桌子
但是日期在列中,我不确定如何转动所有列,之后我可以pd.to_datetime并对其进行排序。
感谢任何帮助。
答案 0 :(得分:1)
我认为你需要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