问题标签 [pandas-rolling]

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 投票
0 回答
43 浏览

python - 瓶颈不能采用小于窗口的数据大小?

Bottleneck 的.move_mean 不能采用小于窗口大小的数据大小,不像 panda 的 .rolling().mean 函数可以使用比窗口大小更短的数据(假设 min_periods 小于数据大小)。

我是否遗漏了什么,或者这个模块可以解决这个问题?

由于数据大小小于窗口大小而导致失败的代码示例:

错误:

我想避免另一个 if 声明窗口值(也许避免熊猫)。

0 投票
1 回答
30 浏览

python-3.x - Pandas 滚动更改阈值

假设我在 Pandas 数据框中有两列时间序列数据,分别为“a”和“b”。我想创建第三列,指示当前时间段的“a”列与接下来 5 个时间段中的任何一个的“b”列之间的差异是否增加了 8 或更多,然后减少了 2 或更多。理想情况下,我会使用某种形式的 df.rolling(5).apply() 并且没有任何循环,但我一直遇到挑战。

为了演示起见,我用循环写出了逻辑,但如果有人能给我一些指导,告诉我如何更有效或更优雅地做到这一点,我将不胜感激。实际上,数据框和窗口会大得多。

0 投票
1 回答
58 浏览

python - 如何在某个水平上获得前 4 周的销售额

我想在 Python 中找到前四个星期的销售额。比如说

对于 1 AA 2022 年 7 月 2 日,过去 4 周的总和为 9(因为 2022 年 1 月 17 日不存在,必须包括当前行日期)

0 投票
1 回答
41 浏览

python - 根据 pandas DataFrame 中的最后 N 行比较两列

我想groupby“ts_code”并根据每个组的最后 N 行计算 max 之后另一列的一列最大值和最小值之间的百分比。具体来说,

df

目标

以下是我的预期结果

l3_high_low_pct_chg= 1-(low峰值后列的最小值)/(列的最大值high),在每组和每行的最后 3 行。

尝试和问题

但它失败了,因此对于第二行,l3_lowest将是 5 而不是 20。我不知道如何计算峰值后的百分比。