按列分组相似数据-df.aggregate-熊猫

时间:2018-09-06 16:50:49

标签: python pandas

这是我在Excel中的数据:

Item_Code   Frequency   Item_Name       Product_Typ   Req_1   Req_2
    1122       4         Line 1           Colors      Blue   Yellow
    1222       3         Line 2           Colors      Black  Blue
    1345       3         Line 3           Animals     Tiger  Lion
    1445       2         Line 4           Animals     Tiger 
    1678       1         Line 5           Colors      Blue   Black
    2456       1         Line 6           Animals     Lion   Tiger

这是相关的代码:

agg_df = (df.fillna('N/A').set_index(['Item_Code', 'Frequency'])
          .stack()
          .reset_index('Frequency')
          .groupby(0)
          .agg(['sum'])
          .reset_index())

以下是此代码的输出:

    0        Frequency
                sum

    0   Animals 6
    1   Black   4
    2   Blue    8
    3   Colors  8
    4   Line 1  4
    5   Line 2  3
    6   Line 3  3
    7   Line 4  2
    8   Line 5  1
    9   Line 6  1
    10  Lion    4
    11  N/A     2
    12  Tiger   6
    13  Yellow  4

代码正在以正确的方式对数据进行求和,但其中包括“ Item_Name”列。输出将需要采用以下格式。此处的区别在于(1)从计算中排除了“ Item_Name”,并且(2)列由“ Product_Typ”分隔。首先,由于df.aggregate可以正常工作,因此它适合该操作吗?其次,如何排除“ Item_Name”,并根据“ Product_Typ”生成单独的列?

    0         Frequency    0    Frequency
                sum                   sum
        Animals           Colors    
   0    Lion     4        Black        4
   1    Tiger    6        Blue         8
   2                      Yellow       4

谢谢!

0 个答案:

没有答案