Группировка похожих данных по столбцам - df.aggregate - Pandas - PullRequest
0 голосов
/ 06 сентября 2018

Вот мои данные в 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

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...