python - 用 pandas 计算前滚平均值
问题描述
我需要计算数据框中的一些滚动平均值,并且真的不知道从哪里开始。
我知道如果我想提前 10 天选择一个单元格,我会说我会这样做df.shift(-10)
,但我想做的是计算提前 10 到 15 天之间的平均值。
所以我的想法是df.rolling(-10,-15).mean()
,如果我试图计算一个移动平均线来支持时间 df.rolling(15, 10).mean() 会完美地工作,我确实考虑过像这样计算平均值,然后以某种方式转移数据。
任何帮助都会很棒
非常感谢
解决方案
您可以提前 5 天计算滚动平均值,然后再shift
计算 10 个周期。rolling
由于不允许负值,您可以反转轴,向后计算,然后再次反转(请参阅如何在前瞻性基础上使用 Pandas rolling_* 函数):
df = pd.DataFrame(np.random.rand(100, 2))
df[::-1].rolling(5).mean()[::-1].shift(-10)
推荐阅读
- html - 在一个 HTML 页面中嵌入两个在线网站
- php - 双重认证连接无法重定向
- javascript - 如何在使用Angular2单击按钮时动态地将行添加到表中?
- python - Pyplot savefig 内存泄漏 - 替代方案?
- c# - 连接到本地 IP 地址 | C# 套接字
- hyperledger - 是否可以在浏览器中查看 Hyperledger Composer 事务处理器返回的值
- spring-boot - 线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/logging/log4j/util/ReflectionUtil
- r - 减去月/年得到年
- django - 如何在 Django 中使 m2m_changed 信号原子化?
- javascript - node.js http 模块请求或响应对象具有 on (addlistener) 方法,但它不在该对象或该原型和构造函数对象内