Я пытаюсь выяснить, как рассчитать 5 лучших продуктов с наибольшим изменением в продажах за предыдущий месяц. Ниже приведен небольшой фрагмент моих данных, здесь Vendor_SKU и Order_Month - это индексы, созданные pd.groupby.
amz = amz.groupby(['Vendor_SKU', 'Order_Month'])['Quantity'].sum()
Vendor_SKU Order_Month
DLEBL140 2018-11-01 17.0
2018-12-01 13.0
DLEBL90 2018-11-01 29.0
2018-12-01 39.0
DLEBR160 2018-11-01 16.0
2018-12-01 17.0
DLEG180 2018-11-01 30.0
2018-12-01 20.0
DLER150 2018-11-01 22.0
2018-12-01 23.0
DLEW110 2018-11-01 49.0
2018-12-01 41.0
DLEY130 2018-11-01 32.0
2018-12-01 20.0
Чего я хотел бы добиться, так это рассчитать все различия одного и того же продукта и найти те, которые имеют наибольшую разницу. Скажем, результат, который я ожидаю, выглядит так:
Vendor_SKU
DLEBL140 -4.0
DLEBL90 10.0
DLEBR160 1.0
DLEG180 -10.0
DLER150 1.0
DLEW110 -8.0
DLEY130 -12.0
С этим результатом я могу выяснить изменения в топ-5. Есть идеи? Спасибо!
Благодаря быстрому ответу от вас, ребята, я попробовал groupby.diff, прежде чем опубликовать этот вопрос, но получил пакет NaN без индекса, просто столбец NaN с несколькими случайными числами. Позже я понял, что могут быть продукты, купленные только в ноябре или декабре, как первые две строки ниже, а затем вместо разницы между двумя месяцами я получил только NaN с diff ().
Vendor_SKU Order_Month Quantity
0 C142 2018-12-01 2.0
1 CC-18P 2018-11-01 5.0
2 DLEBL140 2018-11-01 17.0
3 DLEBL140 2018-12-01 13.0
4 DLEBL90 2018-11-01 29.0
5 DLEBL90 2018-12-01 39.0
Полагаю, мне нужно вставить несколько строк с количеством 0, а затем попробовать diff ().