简体   繁体   English

如何将 Pandas 数据透视表转换为常规数据框

[英]How do I transform pandas pivot table to regular dataframe

My pandas pivot after many operations inside look like below经过多次操作后,我的熊猫支点如下所示

    Date      2019-12-20         2019-12-21          2019-12-22                                                     
City 
Madrid            12                 15                  12           
Valencia          15                 16                  12          
Sevilla           15                 30                  12      

How can I convert this pivot table to a regular dataframe such as this:如何将此数据透视表转换为常规数据框,例如:

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

Thank you in advance for your help预先感谢您的帮助

We can use:我们可以用:

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

or或者

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM