从右边

时间:2017-06-14 08:47:13

标签: python pandas

我有一个数据框,一般来说就像这样。

   A  B  C
0  1  2  3
1  2  4  6
2  3  5  7

我想创建另一个数据框,其中每个值是原始数据框中值行的累积和,从右边开始,而不是左边 - 即输出应该如下所示:

   A  B  C
0  6  5  3
1  12 10 6
2  ...

有人可以建议一些代码吗?

1 个答案:

答案 0 :(得分:4)

iloc值使用reversing两次:

df = df.iloc[:, ::-1].cumsum(axis=1).iloc[:, ::-1]
print (df)
    A   B  C
0   6   5  3
1  12  10  6
2  15  12  7
#first reverse values
print (df.iloc[:, ::-1])
   C  B  A
0  3  2  1
1  6  4  2
2  7  5  3

#then use function cumsum
print (df.iloc[:, ::-1].cumsum(axis=1))
   C   B   A
0  3   5   6
1  6  10  12
2  7  12  15

#last reverse back 
print (df.iloc[:, ::-1].cumsum(axis=1).iloc[:, ::-1])

    A   B  C
0   6   5  3
1  12  10  6
2  15  12  7