在同一数据框列中添加值



我想把相同数据框列中的值(百分比变化)加起来,以便稍后绘制它。最好是将其保存到一个新的数据框架中。我的数据框架看起来像这样:

Date          Value 1   Value 2   Value 3   Value 4                               
2019-10-15        NaN       NaN       NaN       NaN
2019-10-16  -0.000140 -0.001530 -0.005559 -0.008081
2019-10-17   0.006447  0.002043 -0.002396 -0.003360
2019-10-18  -0.006127 -0.001359 -0.003802 -0.007357
2019-10-21   0.003082  0.004424  0.004620  0.008749

我想把每一列加起来,例如,对于Value 4:

Value 4
-0-008081  (Row 1)
-0,011441  (Row 1 + Row2)
-0,018798  (Row 2 + Row 3)
-0,010049  (Row 3 + Row 4)

我知道转换功能,但还不足以将其用于此目的。

添加:它并不意味着只移动一次数据帧并对值求和。我需要将下一个值添加到shift

之后已经添加的值的结果中

您可以移动数据框,并将其添加回原始数据框,您可能需要使用fillna(0)NaN的值替换为零,然后再将数据框相加。

>>> df+df.shift().fillna(0)
Value 1   Value 2   Value 3   Value 4
Date                                              
2019-10-15       NaN       NaN       NaN       NaN
2019-10-16 -0.000140 -0.001530 -0.005559 -0.008081
2019-10-17  0.006307  0.000513 -0.007955 -0.011441
2019-10-18  0.000320  0.000684 -0.006198 -0.010717
2019-10-21 -0.003045  0.003065  0.000818  0.001392

:

根据您的评论,您似乎需要在行轴上使用cumsum:

>>> df.cumsum()
Value 1   Value 2   Value 3   Value 4
Date                                              
2019-10-15       NaN       NaN       NaN       NaN
2019-10-16 -0.000140 -0.001530 -0.005559 -0.008081
2019-10-17  0.006307  0.000513 -0.007955 -0.011441
2019-10-18  0.000180 -0.000846 -0.011757 -0.018798
2019-10-21  0.003262  0.003578 -0.007137 -0.010049

最新更新