gpt4 book ai didi

python - 计算特定行的返回

转载 作者:行者123 更新时间:2023-12-01 08:11:55 25 4
gpt4 key购买 nike

我有一个像这样的数据框。

   Date       price       top          
..............
1999-07-21 8.6912 9.674425
1999-07-22 8.6978 8.692583
1999-07-23 8.8127 10.760976
1999-07-24 8.8779 8.871057
..............
1999-07-27 8.8888 10.12344
...............

我想创建一个名为“return”的新列。如果在一行中,'price' > 'top',那么我想用该行中的价格和第 n+5 行中的价格的返回来填充该行的“return”。

例如,在1999-07-22行中,价格大于top,所以我想在该行中填写“return”,分别为return 07-22和07-27,即(8.8888-8.6978)/8.6978(请注意,由于不包括节假日,日期可能不连续)。只有一小部分行满足需求。因此“return”中的大多数值都将是缺失值。

你能告诉我如何在 python 中做到这一点吗?

最佳答案

如有必要,首先创建DatetimeIndex,然后使用 Series.pct_change , Series.shift最后Series.where :

df['Date'] = pd.to_datetime(df['Date'])
df = df.set_index('Date')

df['new'] = (df['price'].pct_change(5)
.shift(-5)
.where(df['price'] > df['top']))
print (df)

关于python - 计算特定行的返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55196953/

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