问题标签 [rolling-sum]
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.
r - 基于滚动总和条件的总和
我想得到数字的总和,但首先检查两个连续值的滚动总和。
在另一种情况下,我有降水数据,如果两天内降雨量超过 3 英寸,我希望在最终总和中添加 3 英寸。
在这里,如果 df 包含降水数据,我想要 df 的总和,但如果连续两天的滚动总和增加 3,则在计算最终总和时,它应该将这两个数字的总和减少到 3。
例如,前两个数字的总和是 2.78 (1.79996688 + 0.99847062),它应该使用现有的数字。下一个总和是 2.45 (0.99847062 +1.465839),它应该使用现有的数字。接下来的 2.86342148+1.44870719 是 4.3,大于 3,这两天的最终总和中取的值应该是 3。
最后我想要一个单一的值。上述情况的答案应该是1.79996688 + 0.99847062+0.99847062 +1.465839 + 3 + 等等。
python - 如果数据中不存在每个日期,如何计算日期 python 中的移动总和?
我正在尝试根据休息日计算 Python 中的移动总和,但是我的数据框中没有列出每个日期。在下面的示例中,cum sum 应说明数据框中缺少 2021-01-03 日期这一事实
我知道如何使用 pandas 的滚动函数计算滚动总和,但我不知道如何解释丢失的日期。我目前的愿景是创建一个包含日期和其他变量的每个组合的数据框(不在这个基本示例中),然后将活动数据集合并到该数据框,这样我就可以有效地使用 pandas 的滚动功能。但是,我觉得存在更好的方法。有什么想法吗?
sql - 如何有效地计算多个日期的滚动总和,按 id 分组?
给定一个包含每天 1 行的表格和当天生成的表格dt
,如何有效地计算包含该产品在过去 7 天产生的营业额的列?product_id
turnover
turnover_7day
我发现一个简单的查询按预期工作,但速度很慢,我试图在几年的时间里运行数百万种产品的查询。
SQL Fiddle
(即使 Fiddle 是 Postgresql,IRL 我正在尝试在 Snowflake 上执行此操作;我怀疑 Snowflake 中是否有可以完全改变对这篇文章的潜在答案的功能)
数据集:
方法一:SELECT语句中的子查询(产生预期的结果,非常低效):
我在这里使用源表上的子查询来重新计算营业额。它看起来效率很低,但至少它很容易理解。
询问:
结果(如预期):
方法2:尝试重现此答案(但失败)
在这里,我尝试使用窗口函数来加快计算速度。我试图添加PARTITION BY product_id
上面链接的答案,但它没有按预期工作。我的想法是因为LEFT JOIN
列的值product_id
是NULL
,并且在取前 6 行时,它“删除”了 NULL 行,因此总和超过 6 天。
询问:
结果(错误):
我的问题是:
- 如何修改方法 2 以使其工作?
- 是否有任何其他较少的数据/计算密集型方法来计算此滚动总和(按 product_id 分组)?
pandas-groupby - 用groupby中的2个变量计算滚动总和
所以我试图计算数据集中以 7 天和 30 天为增量发生了多少移动。为此,我使用滚动求和法。
最初我有我的代码。但我意识到这是错误的,因为它没有将每个月视为新的一个月。这是我在分析中需要的东西
然后我尝试了这个,但我不断收到这个错误
我想知道是否有一种方法可以按 2 个变量分组或任何其他方法可以解决这个问题
r - 为每组查找低于/等于阈值的最长滚动总和
我试图找到最有效的方法来识别值低于特定阈值的向量的最长滚动和。例如,如果我们有1:10
一个阈值6
,那么3
就是我们最长的滚动总和。
我有下面的代码和我为此制作的功能,但显然非常慢。想知道是否有更有效或已经实现的算法可以识别总和低于阈值的最长运行。
python - 获取具有不规则时间间隔的行值的 rolling.sum
我正在尝试获取时间序列的 rolling.sum。但是,这些行有不同的时间间隔(见下面我的 df_water_level_US1 数据框):
等等。我尝试使用它来获取每天的总和并将其保存到 final_1D:
但我收到此错误:
预期的输出是:
等等(2016 年 2 月 1 日、2016 年 3 月 1 日等)
有谁知道如何解决这个问题?
python - 其他列中的值非零时的累积和
我有一个包含多个列的巨大数据框,如下所示。当 b 中的值为 -1 时,我试图找到时间的累积总和,它前面是 1。我尝试了累积总和,但它不起作用。
仅当 b 中的值仅针对该组为 -1 时,我才在寻找值的累积总和。一旦 b 中的值更改为 0,我希望累积和重置为 0
我的累积总和值应与 cummulative_sum_column 中的值匹配
我在下面尝试过,但是当 b == -1 中的值时,代码计算所有值的累积总和,一旦 b 中的值为 0,它就不会重置为 0