我有一个多索引数据透视表,当我将其导出到Excel时如下所示:
sum
Amount
Type of Transaction COGS Revenue Margin
Name
Alex 12 40 28
Ben 6 25 19
Dan 10 30 20
我希望它包括这样的保证金百分比:
sum
Amount
Type of Transaction COGS Revenue Margin Margin%
Name
Alex 12 40 28 .7
Ben 6 25 19 .76
Dan 10 30 20 .67
创建数据透视表时,通过包含“ margins = True”来获得Margin列。
我尝试通过按收入划分利润率来创建新列,但得到KeyError: 'Revenue'
。我尝试用以下方法做到这一点:
graph["Margin%"] = graph["Margin"] / graph ["Revenue"]
其中图形是我的数据框的名称。我也尝试使用div()函数,但无法正常工作。
graph = pd.pivot_table(df, index=["Name"], columns=["Type of Transaction"], aggfunc=[np.sum], margins = True)
graph = graph.rename(columns={"All":"Margin"})
graph["Margin%"] = graph["Margin"] / graph ["Revenue"]