Python:如何在其他类别之间分配“杂项”总计

2024-05-14 01:16:32 发布

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

我正在用Python构建一个报告,以自动化我们目前在Excel中进行的许多手动转换。我能够提取数据并对其进行透视,从而得到类似这样的结果

^{tb1}$

是否可以按比例将每个日期的杂项总额除以其他类别?因此,我将以下面的内容结束

^{tb2}$

我能想到的唯一方法是将杂项值拆分到它们自己的表中,计算出其他类别的比率,然后将杂项*比率添加到每个类别值中,但我只是想知道是否有一个函数可以用来压缩这方面的工作

谢谢


Tags: 数据方法函数内容报告手动类别excel
1条回答
网友
1楼 · 发布于 2024-05-14 01:16:32

我认为你的解决方案一针见血。但是,它可能已经相当密集:

>>> cat = df.filter(regex='Category')
>>> df.update(cat + cat.mul(df['Misc'] / cat.sum(axis=1), axis=0))
>>> df.drop(columns=['Misc'])
       Date  Category 1  Category 2  Category 3
0  01/01/21        44.0        33.0        33.0
1  02/01/21        36.0        24.0        60.0

cat.mul(df['Misc'] / cat.sum(axis=1), axis=0)获取每行重新分配的杂项值,因为将每个值乘以misc并除以行总数.mul()允许在指定沿着哪个轴进行乘法的同时,其余的是关于拥有正确的列

相关问题 更多 >