首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >得到前5天的最低值

得到前5天的最低值
EN

Stack Overflow用户
提问于 2020-07-30 19:53:00
回答 1查看 58关注 0票数 0

我想得到前5天的最低收盘价(不包括当前仓位日),因此我有代码:

代码语言:javascript
复制
LClose5=pd.DataFrame()
LClose5['LClose5'] = stock_store['Close'].rolling(window=5).min()

结果不是我想要的,如果目前的仓位日收盘价是最低的,它会选择它作为最近5天的最低价格。这是错误的。

我真正想要的是比较一下“当前收盘价”和“前5天最低价格”。

对不起,我试着使它尽可能简单。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-30 20:07:59

只需使用shift将所有值向下移动1行:

LClose5['LClose5'] = stock_store['Close'].rolling(window=5).min().shift(1)

下面是一个玩具示例,其中第6项(1)低于前5行。LClose5列中的第一个条目(第6行)为4,因为这是上面5行中的最小项:

代码语言:javascript
复制
import pandas as pd

df = pd.DataFrame({"close": [10, 9, 4, 5, 7, 1, 5, 6, 2]})
df["LClose5"] = df["close"].rolling(window=5).min().shift(1)

输出结果如下:

代码语言:javascript
复制
close   LClose5
10  NaN
9   NaN
4   NaN
5   NaN
7   NaN
1   4.0
5   1.0
6   1.0
2   1.0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63180423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档