我在我的程序中使用tabulate来获取决策表,如下所示。我想要实现列侧和行侧的小计。在python中这是可能的吗
+-------+----------+---------+----------+---------+----------+
| Env | xsmall | small | medium | large | xlarge |
|-------+----------+---------+----------+---------+----------|
| dev | 2 | 4 | 6 | 1 | 2 |
| prod | 1 | 9 | 4 | 0 | 0 |
| qa | 0 | 10 | 1 | 0 | 1 |
| uat | 0 | 0 | 2 | 0 | 0 |
+-------+----------+---------+----------+---------+----------+我想要像这样得到小计,行2+4+6+1+2 =15,列2+1+0+0 =3
+-------+----------+---------+----------+---------+----------+---------
| Env | xsmall | small | medium | large | xlarge |Sub Total
|-------+----------+---------+----------+---------+----------+----------
| dev | 2 | 4 | 6 | 1 | 2 |15
| prod | 1 | 9 | 4 | 0 | 0 |14
| qa | 0 | 10 | 1 | 0 | 1 |12
| uat | 0 | 0 | 2 | 0 | 0 |2
+-------+----------+---------+----------+---------+----------+--------
|SubTotal| 3 | 23| 13| 1 | 3|43感谢您的帮助!
发布于 2020-05-09 01:15:52
您可以使用append添加行,使用assign添加列
df = df.set_index('Env')
new_df = (df.append(df.sum().rename('SubTotal'))
.assign(SubTotal=lambda x: x.sum(1))
.reset_index()
)输出:
Env xsmall small medium large xlarge SubTotal
0 dev 2 4 6 1 2 15
1 prod 1 9 4 0 0 14
2 qa 0 10 1 0 1 12
3 uat 0 0 2 0 0 2
4 SubTotal 3 23 13 1 3 43https://stackoverflow.com/questions/61684349
复制相似问题