我不知道如何正确地说出我想做的事情,或者这是否可能,如果这听起来很困惑,也没有意义,我很抱歉。我想做的基本上是在数据帧中创建一个单独的列,对连续值求和。例如,我有这个列,如下所示,我想要一个单独的列,它包含0.00871和0.001的总和,然后是0.000603和0.0123,以及0.000871和4.37E-05,等等。这有意义吗?如果是这样的话,有没有一种方法可以为此进行编码,而不是手动进行?感谢所有的帮助!我更喜欢在Python上这样做,但任何语言都足够了。
不允许嵌入图像,所以希望这能在中工作
- 假设您的数据是以图像形式呈现的,我已经对其进行了模拟
- 你说了什么
- 每第二行
d.index % 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> | ||||||
---|---|---|---|---|---|---|
0 | 0.804529 | nan | ||||
1 | 0.24858 | <1.05311>|||||
2 | 0.710556 | >nan|||||
3 | 4 | 5 | 0.599331 | 1.47898 | ||
6 | 0.635365 | 南 | ||||
7 | 0.587647 | 1.22301 | ||||
8 | 0.902475 | 南 | ||||
9 | 0.0398323 | 0.942307 | ||||
10 | 0.357436 | >nan|||||
11 | 0.469155 | 0.826591 | ||||
12 | 0.732759 | nan | ||||
13 | 0.721996 | <1.45476>|||||
14 | 0.030494 | >nan|||||
15 | 16 | 17 | 0.130903 | 0.141713 | ||
18 | 0.643588 | nan | ||||
19 | 20 | 0.63328 | nan | |||
21 | 0.506582 | 1.13986 | ||||
22 | 0.855085 | nan | ||||
23 | 24 | 0.146992 | nan | |||
25 | 0.64605 | 0.793041 | ||||
26 | 0.460859 | >nan|||||
27 | 0.818967 | 1.27983 | ||||
28 | 0.809294 | nan | ||||
29 |
若要获取累计和,请使用-
df.cumsum()