如何对数据帧中的前几行求和



我不知道如何正确地说出我想做的事情,或者这是否可能,如果这听起来很困惑,也没有意义,我很抱歉。我想做的基本上是在数据帧中创建一个单独的列,对连续值求和。例如,我有这个列,如下所示,我想要一个单独的列,它包含0.00871和0.001的总和,然后是0.000603和0.0123,以及0.000871和4.37E-05,等等。这有意义吗?如果是这样的话,有没有一种方法可以为此进行编码,而不是手动进行?感谢所有的帮助!我更喜欢在Python上这样做,但任何语言都足够了。

不允许嵌入图像,所以希望这能在中工作

  • 假设您的数据是以图像形式呈现的,我已经对其进行了模拟
  • 你说了什么
    1. 每第二行d.index % 2
    2. 当前行和前一行的总和d["sourceValue"] + d["sourceValue"].shift()
import numpy as np
import pandas as pd
pd.DataFrame({"sourceValue": np.random.uniform(0, 1, 30)}).assign(
required=lambda d: np.where(
d.index % 2, d["sourceValue"] + d["sourceValue"].shift(), np.nan
)
)
tbody><1.05311>>nan>nan<1.45476>>nan>nan
00.804529nan
10.24858
20.710556
3450.5993311.47898
60.635365
70.5876471.22301
80.902475
90.03983230.942307
100.357436
110.4691550.826591
120.732759nan
130.721996
140.030494
1516170.1309030.141713
180.643588nan
19200.63328nan
210.5065821.13986
220.855085nan
23240.146992nan
250.646050.793041
260.460859
270.8189671.27983
280.809294nan
29

若要获取累计和,请使用-

df.cumsum()

最新更新