我有一个包含三列的数据框:nums有一些要使用的值,b它始终是1or0和result当前除第一行之外的任何地方都为零的列(因为我们必须有一个初始值才能使用)。数据框如下所示:
nums b result
0 20.0 1 20.0
1 22.0 0 0
2 30.0 1 0
3 29.1 1 0
4 20.0 0 0
...
Run Code Online (Sandbox Code Playgroud)
我想从第二行开始查看数据框中的每一行,进行一些计算并将结果存储在result列中。由于我正在处理大文件,因此我需要一种方法来快速执行此操作,这就是为什么我想要类似apply.
我想要做的计算是采取值nums和result从以前的行,如果在当前行的b山坳是0那么我想(例如)添加num和result从上一行。例如,如果b在该行中,1我想减去它们。
我尝试使用apply但我无法访问前一行,遗憾的是,如果我确实设法访问了前一行,数据框直到最后才会更新结果列。
我也尝试使用这样的循环,但对于我正在使用的大文件来说太慢了:
for i in range(1, len(df.index)):
row = df.index[i]
new_row = df.index[i - 1] …Run Code Online (Sandbox Code Playgroud)