经过多次操作后,我的 pandas 枢轴如下所示
Date 2019-12-20 2019-12-21 2019-12-22
City
Madrid 12 15 12
Valencia 15 16 12
Sevilla 15 30 12
如何将此数据透视表转换为常规数据框,如下所示:
Date City Value
2019-12-20 Madrid 12
2019-12-20 Valencia 15
2019-12-20 Sevilla 15
2019-12-21 Madrid 15
2019-12-21 Valencia 16
2019-12-21 Sevilla 30
2019-12-22 Madrid 12
2019-12-22 Valencia 12
2019-12-22 Sevilla 12
预先感谢您的帮助
最佳答案
我们可以使用:
df.unstack().rename('Value').reset_index()
#df.columns=pd.to_datetime(df.columns)
#df.T.reset_index().melt('Date').sort_values('Date')
#Output
# Date City Value
#0 2019-12-20 Madrid 12
#1 2019-12-20 Valencia 15
#2 2019-12-20 Sevilla 15
#3 2019-12-21 Madrid 15
#4 2019-12-21 Valencia 16
#5 2019-12-21 Sevilla 30
#6 2019-12-22 Madrid 12
#7 2019-12-22 Valencia 12
#8 2019-12-22 Sevilla 12
或
df.T.reset_index().melt('Date')
# Date City value
#0 2019-12-20 Madrid 12
#1 2019-12-21 Madrid 15
#2 2019-12-22 Madrid 12
#3 2019-12-20 Valencia 15
#4 2019-12-21 Valencia 16
#5 2019-12-22 Valencia 12
#6 2019-12-20 Sevilla 15
#7 2019-12-21 Sevilla 30
#8 2019-12-22 Sevilla 12
关于python - 如何将 pandas 数据透视表转换为常规数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59448438/