熊猫划分明智的师

时间:2016-08-10 12:29:01

标签: python pandas

假设我有这个数据框

      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,但是它用于行总计。我想知道如何为列总数做这件事。

1 个答案:

答案 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