问题标签 [rolling-average]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2715 浏览

python - AttributeError:模块“pandas”没有属性“rolling_mean”

滚动平均值不起作用并给出此错误。你能描述一下代码吗?为什么它不起作用?

0 投票
1 回答
1466 浏览

python - 熊猫滚动应用跳过某些值

我有一个数据框,我想计算该mean列,直到我拥有 True 有效案例的值点。

如何从均值计算中排除 False 案例,但仍保留之前的均值。我试过了,但它没有跳过 False 案例中的值。我也在 groupby 之前尝试过 df[~df.valid] 但索引与原始 df 不匹配。

0 投票
4 回答
2314 浏览

r - r 根据值计算带有窗口的滚动平均值(不是行数或日期/时间变量)

我对所有用于计算 R 中滚动平均值的软件包都很陌生,我希望你能告诉我正确的方向。

我以以下数据为例:

ms是以毫秒为单位的时间点,correct是特定操作是否正确执行
(1 = 正确,0 = 不正确)。

我现在的目标是我想在设定的毫秒数的窗口上计算正确(或平均值)的百分比。如您所见,某些时间点缺失,某些时间点出现多次。因此,我不想根据行号进行过滤。我查看了一些包,例如“tidyquant”,但在我看来,这些包需要时间/日期变量而不是数值变量来确定取平均值的窗口。有没有办法在 的数值上指定窗口df$ms

0 投票
1 回答
541 浏览

python - 在 Pandas 中计算 Rolling Geomean 窗口,就像在 EXCEL 中计算一样

在 EXCEL 中,在 Col1 上计算大小为 2 的 geomean 将导致 Geo_2 的第 1 行中为 6,因为 4 和 9 的 geomean 为 6。在 Pandas 或 numpy 中,它似乎是相反的,min_period = 1,第一行反映了仅 1 个值的计算,随后的计算使用 Col1 的前一行和当前行来计算 geomean。我希望计算窗口是 col1 的当前和下一行,因此 Geo_2 的第一个值是 6,最后一个值应该是 2。

在此处输入图像描述

0 投票
1 回答
94 浏览

excel - 5 个特定单元格的平均值,包括活动行上面的 2 个/下面的 2 个跳过空白而不是包含在范围内

我的 Excel 技能相对有限,所以我不确定这是否可以用公式来完成,但我希望它可以作为我的宏技能去录制宏和进行基本编辑。

基本上我有一张年表,包括前一年的 12 月和次年的 1 月。此处链接的表格是其外观的快照,2-1-2 日平均价格 ,日期列是 A 列。

本质上,我需要在 5 个可能不连续的日子里从每日平均列中输入 5 天的平均值。我需要完全跳过空白单元格,即周六和周日,并且不将它们包括在任何范围内,但这是我遇到麻烦的地方,它还需要跳过某些工作日,即未公布价格的公共假期。我还需要能够将其复制/拖动到列中的所有单元格,例如 2017 年 12 月至 2019 年 1 月,每年滚动计算,考虑到每年都会发生变化的公共假期,或者能够每年进行简单的编辑。

我输入了一个嵌套的 If 语句,该语句返回 1 表示周六、周日或公共假期以外的任何内容,而返回 0 表示所有内容。由于知识有限,而且我找不到简单的东西来从每日平均列中排除空白,这是/是我最有希望的选择,但我找不到我需要的确切公式来平均一个单元格活动行,以及基于不同列的值上下的前 2 个。

我在这个网站和 其他地方找到了形式的公式, =IFERROR(SUM(A10;B13;C5;D6;D8)/((A10<>0)+(B13<>0)+(C5<>0)+(D6<>0)+(D8<>0));0)但 问题是它基于整个范围的平均值,而不仅仅是我需要的五个。我还发现这并没有做太多,因为它似乎有类似的最终结果。=AVERAGEIF(B1:B1:B3:B3:B5:B5:B7:B7,">0")=AVERAGEIF($A$1:$A$500,D1,$B$1:$B$500)SUMPRODUCT

任何帮助将不胜感激,因为我竭尽全力试图使其工作/花时间自动化整个工作簿,这取决于这项工作并且不会告诉我的经理我的时间被浪费了。

提前感谢您,并为篇幅道歉。

问候,

西蒙

0 投票
1 回答
678 浏览

python - Pandas 计算并在另一列上应用加权滚动平均值

我很难弄清楚如何根据我的一个列获得“滚动权重”,然后将这些权重分解到另一列中。

我已经尝试过groupby.rolling.apply (function)我的数据,但主要问题只是概念化我将如何获取我将要变成权重的列的运行/滚动平均值,然后将这个权重“窗口”分解到另一列那不是滚动的。

我还特意设置min_period为 1,因此您会注意到我在每组最终输出中的前两行"rwag"与原始输出镜像。

W是从中导出权重的滚动列。 B是将滚动权重应用到的列。分组仅在 column 上完成a

df已按a和排序yr

0 投票
1 回答
2295 浏览

python - Pandas 中的滚动平均值

我有一个包含 2 列的数据框 - 日期和价格。数据首先按最新日期排序(第一行为 1 月 23 日,第二行为 1 月 22 日,依此类推)。

我想计算这个时间序列数据的 2 天滚动平均价格。我正在使用这个:

它的作用是,它将 NaN 分配给第一行(1 月 23 日),然后将第二行的输出作为 1 月 23 日和 1 月 22 日的价格平均值。这没有用,因为 1 月 22 日的平均值使用的是远期数据( 1 月 23 日的价格)。我需要的是 1 月 23 日的移动平均值是 1 月 23 日和 1 月 22 日的平均值。这样 MA 的最后一个值将是 NaN 而不是第一个值。

我不想做的是先用最旧的数据对这些数据进行排序,然后再计算。

我对 pct_change() 有同样的问题。但是, pct_change(-1) 解决了这个问题。但是滚动不接受负值作为输入。请建议解决此问题的方法。谢谢。

0 投票
2 回答
1148 浏览

python - 带有时间偏移 Pandas 的滚动平均值

我在 pandas 中有一组时间戳和值的数据集。时间戳之间的间隔在大约一年的总时间跨度上约为 12 秒,但有时会丢失一些点(即时间序列是不规则的,所以我不能使用固定的窗口大小)。

我想计算 1 分钟间隔内的值的滚动平均值,但我没有得到我预期的行为。我在这里发现了一个类似的问题,但那是使用 sum 和 pre-pandas 0.19.0。我正在使用熊猫 0.23.4。

样本数据

请注意,2018-02-02 21:27:48缺少。

对于滚动求和,我可以只用 0 填充缺失值,但对于平均值,我不希望将缺失点计为真实数据点(例如,我希望窗口为 sum(给定间隔内的数据点) / 区间内的数据点数)。

我想在不同的时间段(即1分钟、5分钟、15分钟、1小时等)做这件事。

我最接近实际值的方法是:

代码

我的理解是这将是 1 分钟的滚动平均值。

但是,我不确定如何解释输出。我本来预计前 1+1 分钟会出现 NaN,因为没有什么可以作为滚动平均值的基础,而是我有值。

输出

基本上,在这个输出中,df[1].rolling_avgis (Value[0]+Value[1])/2,虽然间隔是 12 秒,而不是 1 分钟。

有没有办法做我想做的事情,或者我需要编写一个 for 循环来手动执行此操作?

0 投票
1 回答
649 浏览

python-3.x - 如何将 pandas.rolling().mean 用于 3D 输入数组?

对于 1D,我可以使用:

但问题是,如果我有a3D 数组,那么使用这种方法会出错

我使用的代码是:

imgg是 3D numpy 数组。

我还尝试了什么:

我也尝试了旧功能rolling_meanie pd.rolling_mean(a,4,center=True),但它也不起作用,它给出了错误:

0 投票
0 回答
554 浏览

sql - 过去财务状况的滚动 3 个月平均值

使用您之前从课程和主题材料中安装的“AdventureWorks 2016 和 SQL Server 2016 CTP3 脚本”的一部分的数据仓库来完成作业。

财务部门希望能够预测未来的融资细节。部门经理已向您发送了过去财务状况滚动 3 个月平均值的请求。

请注意,在运行 SQL 查询时,会以数据的形式生成结果。该数据应导出并保存到 Excel 文件中,以便目视检查准确性。

创建一个 Word 文档,其中包含用于探索数据库表的 SQL 查询代码并编写一个查询,该查询从“AdventureWorksDW2016CTP3”数据库中的“FactFinance”检索财务金额并返回这些金额,按月组织,并显示 3 个月的滚动平均。