gpt4 book ai didi

python - 根据两列中的匹配值为日期差异创建条件列

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:28 24 4
gpt4 key购买 nike

我有一个数据框,我正在努力创建一个基于其他列的列,我将分享示例数据的问题。

        Date    Target1        Close
0 2019-04-17 209.2440 203.130005
1 2019-04-17 212.2155 203.130005
2 2019-04-17 213.6330 203.130005
3 2019-04-17 213.0555 203.130005
4 2019-04-17 212.6250 203.130005
5 2019-04-17 212.9820 203.130005
6 2019-04-17 213.1395 203.130005
7 2019-04-16 209.2860 199.250000
8 2019-04-16 209.9055 199.250000
9 2019-04-16 210.3045 199.250000

我想创建另一列(对于每个观察)(例如称为 days_to_hit_target),这是天数的差异,以便接近命中(或非常接近特定日期的目标),当它确实非常接近地关闭了它,然后它计算了天数的差异并将它们放在 days_to_hit_target 列中。

最佳答案

这应该有效:

daysAboveTarget = []
for i in range(len(df.Date)):
try:
dayAboveTarget = df.iloc[i:].loc[(df.Close > df.Target1[i])]['Date'].iloc[0]
except IndexError:
dayAboveTarget = None
daysAboveTarget.append(dayAboveTarget)
daysAboveTarget = pd.Series(daysAboveTarget)
df['days_to_hit_target'] = daysAboveTarget - df.Date

我在这里有点过度使用 iloc 和 loc,所以让我解释一下。变量 dayAboveTarget 获取价格收于目标上方的日期。第一个 iloc 将数据框子集化为仅 future 日期,第一个 loc 找到实际结果,第二个 iloc 仅获得第一个结果。对于价格从未超过目标的日子,我们需要异常(exception)。

关于python - 根据两列中的匹配值为日期差异创建条件列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55964736/

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