如何解决努力了解使用“ D”作为输入一部分的滚动窗口功能背后的逻辑
作为一个有抱负的数据科学家,我目前正在学习使用时间序列,并且刚刚学习完窗口功能。对我来说很明显,滚动窗口功能可帮助计算时间序列数据的移动指标,例如平均值或总和。但是,我很难理解使用“ D”作为输入一部分的滚动窗口函数背后的计算逻辑。下面是示例:
我有以下数据集:
import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/Arsik36/StO/master/yahoo.csv',parse_dates = ['date'],index_col = 'date')
df.head()
从您环境的输出中,您将看到数据集包含日期列作为索引,然后包含相应的值。当我将window设置为5时,逻辑对我来说非常清楚,例如:
df['window_5'] = df.rolling(window = 5).mean()
df
新列首先创建多个NaN行,然后计算最后5个日期的平均值,非常清晰。但是,当我将window参数指定为“ 5D”时-5个日历日-新列开始时不会产生NaN值。
df['window_5D'] = df['price'].rolling(window = '5D').mean()
df
通过我自己的分析,我意识到“ window_5D”列第一行的值是“价格”中第一列的均值,“ window_5D”列第二行的值是前2个均值“价格”列的行,依此类推。我不明白的是,如果我指定大小为“ 5D”的窗口,为什么要用这种方式完成计算?
我包含的数据集包括Yahoo股票价格。在周末,价格保持不变。因此,在我看来,“ 5D”应创建与我指定window = 5相同的前几个NaN值,但与window = 5不同,window = 5D还将假设周末的价格与周五的价格相同,并且计算均值时要考虑到这一点。
window ='5D'概念是我很困惑的事情,鉴于我对上述情况的困惑,在此先感谢您帮助我理解该计算背后的逻辑。
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。