Python计算透视表中的合计百分比

2024-04-29 12:09:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,我使用pd.pivot_表方法和一个和聚合函数:

    SM_waterfall = df.query('type == ["SM"] & condition == ["Carrier Damaged","Customer Damaged","Unknown"]').pivot_table(index=["shipdate"], columns=["completeddate"],aggfunc=np.sum, fill_value=0, margins=True, margins_name="Total")

    amount                    
completeddate    2018-8   2018-9     Total
shipdate                                  
2018-6          8430.25     0.00   8430.25
2018-7           840.24  1018.39   1858.63
2018-8          1011.10   340.82   1351.92
2018-9             0.00  2463.25   2463.25
Total          10281.59  3822.46  14104.05

amount      
completeddate   2018-8  2018-9  Total
shipdate            
2018-6         1.00000  0.00000 1.00000
2018-7         0.45207  0.54793 1.00000
2018-8         0.74790  0.25210 1.00000
2018-9        0.00000   1.00000 1.00000
Total        0.72898    0.27102 1.00000

我想将pivot中的所有值转换为最后一列的%以便dataframe显示在底部df中。我对这一点非常陌生,并见过基于sum列(而不是行)进行计算的代码。在


Tags: 数据方法函数dfamounttotalpdpivot