在Python中使用前一个数据

2024-04-25 06:12:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python做以下工作

基本上我有一个y=0.5的表

A | B | Result from column A
---
1   2   0.5
---
2   4   0.5*(0.5+ 2)
---
3   5   ...
---
4   4   ...
---

到目前为止,我有一个循环,这是没有效率的,我想做一个矢量化的方式:

X = np.zeros((len(df),))
for i, (_, row) in enumerate(df.iterrows()):
    if i == 0:
        continue
    X[i] = y*(X[i - 1] +  row['A'])

你能在上面帮我吗

谢谢


Tags: infromdfforlennp方式zeros
1条回答
网友
1楼 · 发布于 2024-04-25 06:12:03

我猜应该使用Pandas rolling方法连接lambda表达式,类似于:

X = [your_Pandas_Serie]
rolling_window = X.rolling([the_length_of_your_Serie])

rolling_window.apply(lambda x: [your_function])

使用简单的滚动方法(如mean())进行检查,以便在实现最终解决方案之前熟悉并使用lambda表达式。你知道吗

我在交易软件中使用了同样的过程。你知道吗

相关问题 更多 >