首页 > 解决方案 > 通过交换索引和列将数据透视表转换为数据透视表

问题描述

假设我的数据集

Name   Month   Value
A          1     120
A          3     130
A          5     140
B          1     80
B          2     110
B          4     90
C          1     150
C          4     120
C          5     190
D          1     100
D          2     105
....

如数据所示,每个月都有不存在的值,所以先创建第一个数据透视表,填充缺失值,

df_pivot1 = (df.pivot_table(index='Month',columns='Name', values='Value'))
df_pivot1

Name     A    B    C    D
Month
    1  120   80  150  100
    2  Nan  110  Nan  105
    3  130  Nan  Nan  Nan
    4  Nan   90  120  Nan
    5  140  Nan  190  Nan

并在填写缺失值(数据插补)后,

Val = Assume that imputation value
Name     A    B    C    D
Month
    1  120   80  150  100
    2  Val  110  Val  105
    3  130  Val  Val  Val
    4  Val   90  120  Val
    5  140  Val  190  Val

现在我想要的是使用df_pivot1以便索引成为Name并且列成为Month

输出我想要的

Month  1   2   3   4   5
Name
   A 120 Val 130 Val 140 
   B  80 110 Val  90 Val
   C 150 Val Val 120 190
   D 100 105 Val Val Val

谢谢你的阅读。

标签: pythonpandaspivot

解决方案


估算值后尝试

df_pivot1 = df_pivot1.T

推荐阅读