gpt4 book ai didi

python - 利用前一行的 Pandas 函数计算

转载 作者:行者123 更新时间:2023-11-28 21:42:36 25 4
gpt4 key购买 nike

具有一个输入列的数据框。我想添加另一个 Out 列,将输入行乘以 0.5 +(上一行 Out 值 + 1)。我尝试过 shift,但认为我缺少一些基本的东西。

输入数据框:

df
Out[11]:
Input
0 10
1 20
2 30
3 20
4 30
5 0
6 10
7 20

输出数据框:

df
Out[11]:
Input Out
0 10 5
1 20 16
2 30 32
3 20 43
4 30 59
5 0 60
6 10 66
7 20 77

最佳答案

这里有一个小技巧可以解决这个问题:

import pandas as pd

df = pd.DataFrame({'input':[10,20,30,20,30,0,10,20]})

print(df)

输入数据框:

   input
0 10
1 20
2 30
3 20
4 30
5 0
6 10
7 20

在这种情况下,您真正​​要做的是运行累积和的变体,我们可以按如下方式对其进行建模:

df['out'] = ((df['input']/2).cumsum()) + (df['input'].notnull()).cumsum().add(-1)

输出结果:

   input   out
0 10 5.0
1 20 16.0
2 30 32.0
3 20 43.0
4 30 59.0
5 0 60.0
6 10 66.0
7 20 77.0

关于python - 利用前一行的 Pandas 函数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43429722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com