Вычисляемое поле для мультииндексного фрейма данных - PullRequest
0 голосов
/ 07 октября 2019

enter image description here

У меня есть два уровня в столбце. level0 - это год (2012,2013, ..), а level1 - (Прибыль, ShippingCost & Sales). Я хочу включить рассчитанное поле Profit% = Прибыль / Продажи и ShippingCost% = Стоимость доставки / Продажи.

Я создал отдельные столбцы для каждого года. См. Код ниже.

df[(2012,"Profit%")]= df[(2012,"Profit")]/df[(2012,"Sales")]

df[(2012,"ShippingCost%")]= df[(2012,"Shipping Cost")] / df[(2012,"Sales")]

df[(2013,"Profit%")]=       df[(2013,"Profit")]        / df[(2013,"Sales")]

df[(2013,"ShippingCost%")]= df[(2013,"Shipping Cost")] / df[(2013,"Sales")]

df[(2014,"Profit%")]=       df[(2014,"Profit")]        / df[(2014,"Sales")]

df[(2014,"ShippingCost%")]= df[(2014,"Shipping Cost")] / df[(2014,"Sales")]

Я получил желаемый результат, но так как я новичок в python, есть ли способ сделать это каким-то эффективным способом. Это выглядит немного наивно.

...