假设我有这个数据框
A B C
0 1 2 3
1 4 5 6
2 7 8 9
SUM 12 15 18
现在我想将每个元素按其各自的列"SUM"
划分。示例(1/12),(8/15)等,并将其填满以代替数字。
我可以循环它,但这将是耗时的,而且我相信pandas
必须有一些方法可以在没有循环的情况下完成它。
这样的事情在这里完成Pandas sum across columns and divide each cell from that value,但是它用于行总计。我想知道如何为列总数做这件事。
答案 0 :(得分:2)
如果您使用iloc
选择最后一行,则可以将其传递给div
:
In [20]:
df.div(df.iloc[-1])
Out[20]:
A B C
0 0.083333 0.133333 0.166667
1 0.333333 0.333333 0.333333
2 0.583333 0.533333 0.500000
SUM 1.000000 1.000000 1.000000