首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得最后n行的标准差?

如何获得最后n行的标准差?
EN

Stack Overflow用户
提问于 2018-05-27 09:51:12
回答 2查看 1.5K关注 0票数 2

我有一个装载在熊猫数据的OHLC csv。我在试着得到最后一排的性病。我在浏览df。以下是我迄今所做的工作:

代码语言:javascript
复制
df['std'] = np.zeros([len(df), 1])
for i, row in df.iterrows():
    df['std'][i] = df['Close'][-(i+ln):i].std()

编辑:

为了清楚起见,我需要每一行的最后n行的std。假设我的行索引是100,n是25。我需要75:100 std,并需要将此应用于每一行。这是我的解决方案,但我认为这是一条漫长的路:

代码语言:javascript
复制
for i, row in df.iterrows():
    if i > ln-2:
        end = -(clen-i)
        begin = end - ln
        df['std'][i] = df['Close'][begin:end].std()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-27 10:18:56

您可以使用熊猫DataFrame rolling函数。在您的示例中,我不确定您想要的只是最后n行的std,还是在df['std']的第一行中,您希望拥有从( In )-th到df['Close']的第一行的std。

第二种选择可以这样做:

代码语言:javascript
复制
df['std'] = df['Close'].rolling(n).std()
票数 2
EN

Stack Overflow用户

发布于 2018-05-27 10:15:12

我觉得这可能有用

代码语言:javascript
复制
df.tail(n).std()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50550927

复制
相关文章

相似问题

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