gpt4 book ai didi

python - 使用 Pandas 操作 CSV 文件 : Identifying a value in a column and using data from other columns of the same row

转载 作者:行者123 更新时间:2023-12-01 09:20:29 25 4
gpt4 key购买 nike

使用 Pandas,除了 OHLC 列之外,我还在 CSV 文件中创建了两列。数据框如下所示:

              Date   Close      ...          Return  bullishSignal
Symbol ...
SPY 2010-01-01 111.44 ... NaN False
SPY 2010-01-04 113.33 ... NaN False
SPY 2010-01-25 109.77 ... 0.017582 False
SPY 2010-01-26 109.31 ... -0.000915 False
SPY 2010-01-27 109.83 ... -0.000546 True
SPY 2010-01-28 108.57 ... 0.006816 False
SPY 2010-01-29 107.39 ... 0.022721 False

我的目标是计算从看涨信号出现之日(第 0 天)开始的 2 天返回:(收盘价(第 2 天)- 开盘价(第 1 天))/开盘价(第 1 天)。有什么办法可以做到这一点吗?

最佳答案

转向 Pandas 。然后,您可以使用命令 .shift(1) 转置 row-1,使用命令 .shift(-1) 转置 row+1。

   x1                   # Original df
0 0
1 1
2 2
3 3
4 4

df.x2 = df.x1.shift(1) # Shift down

x1 x2
0 0 NaN
1 1 0
2 2 1
3 3 2
4 4 3


df.x2 = df.x1.shift(-1) # Shift up

x1 x2
0 0 1
1 1 2
2 2 3
3 3 4
4 4 NaN

应用shift(),您可以将所有相关值获取到一行,然后就可以应用按列运算:

from __future__ import division
df['Close_Next_Day'] = df['Close'].shift(-1)
df = df[df.bullishSignal == True] # Filter to bullish
df['2dayReturn_bullish'] = (df['Close_Next_Day'] - df['Open']) / df['Open'])

您可以使用 pandas 百分比变化函数执行相同的操作。

关于python - 使用 Pandas 操作 CSV 文件 : Identifying a value in a column and using data from other columns of the same row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50827916/

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