Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否按相反的列顺序按行计算数据帧总和?_Python_Pandas_Dataframe_Cumsum - Fatal编程技术网

Python 是否按相反的列顺序按行计算数据帧总和?

Python 是否按相反的列顺序按行计算数据帧总和?,python,pandas,dataframe,cumsum,Python,Pandas,Dataframe,Cumsum,有没有更优雅的方法来实现这一点?我目前基于各种stackoverflow答案的解决方案如下 df = pds.DataFrame([[11,12,13,14],[15,16,17,18]], columns = [0,1,2,3]) print df dT = df.T dT.reindex(dT.index[::-1]).cumsum().reindex(dT.index).T 输出 df is: 0 1 2 3 0 11 12 13 14

有没有更优雅的方法来实现这一点?我目前基于各种stackoverflow答案的解决方案如下

df = pds.DataFrame([[11,12,13,14],[15,16,17,18]], columns = [0,1,2,3])  
print df  
dT = df.T  
dT.reindex(dT.index[::-1]).cumsum().reindex(dT.index).T  
输出

df is:
    0   1   2   3  
0  11  12  13  14  
1  15  16  17  18  

after by row reverse cumsum
    0   1   2   3
0   50  39  27  14  
1   66  51  35  18  
我必须经常在我的数据上执行此操作(也要大得多),并尝试找到一种短/更好的方法来实现这一点


谢谢

这里有一个更易读的选择:

df[df.columns[::-1]].cumsum(axis=1)[df.columns]
无需转置数据帧;只需使用
axis=1
参数来
cumsum


显然,最简单的方法是只按相反的顺序存储数据帧列,但我认为您不这样做是有原因的。

谢谢您的简化。事实上,我需要同时进行正向累积和反向累积,还需要为分析的其他部分保持原始列顺序。