如何获得pandas系列值的某个长度n的滚动值?
例如,如果我有以下内容:
df = pd.DataFrame({'temperature': [0, 1, 2, np.nan, 4, 2, 0.8, 4, 8.8, 7.12]})
我如何获得长度为n的移动值,即类似,如果n = 3:
[NaN,NaN,0],[NaN,0,1],…,[4,8.8,7.12]
编辑:如果我使用熊猫滚动,如:
roll = pd.Series.rolling(df, 3).mean()
然后滚动是该系列的移动平均线。在这里,我不希望每个移动的3个值集合的平均值,而是这些3个值的集合。
我认为您需要先添加NaN
s,然后再执行以下解决方案:
N = 3
x = np.concatenate([[np.nan] * (N-1), df['temperature'].values])
def rolling_window(a, window):
shape = a.shape[:-1] + (a.shape[-1] - window + 1, window)
strides = a.strides + (a.strides[-1],)
return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides)
print (rolling_window(x, N))
[[ nan nan 0. ]
[ nan 0. 1. ]
[ 0. 1. 2. ]
[ 1. 2. nan]
[ 2. nan 4. ]
[ nan 4. 2. ]
[ 4. 2. 0.8 ]
[ 2. 0.8 4. ]
[ 0.8 4. 8.8 ]
[ 4. 8.8 7.12]]
问题内容: 有谁知道有效的函数/方法(例如)来计算数组的滚动差 这是我最接近的解决方案: 但是,它仅计算单步滚动差。理想情况下,步长是可编辑的(即当前时间步长与最后n个步长之间的差)。 我也写了这个,但是对于更大的数组,它很慢: 问题答案: 关于什么: 通常,您可以使用自己的功能替换该功能。请注意,在这种情况下,第一项将是。 定义以下内容: 您可以在处计算值之间的差异。
问题内容: 我有一个从CSV导入的像这样的数据框。 我想添加一个新的MA列,该列计算该列pop的滚动平均值。我尝试了以下 我得到一个错误 所以我想让我尝试一下,如果它不添加任何列就可以工作。我用了 我得到了输出 我似乎无法对栏弹出应用滚动平均。我究竟做错了什么? 问题答案: 要分配列,您可以根据以下内容创建滚动对象: ac2001发布的答案并不是执行此操作最有效的方法。他正在计算数据帧中每一列的滚
问题内容: 假设我有以下数据框 第一列是日期时间对象,第二列是整数。我想要的是为每行最后五分钟计算列“ A”的总和。 作为该行的示例 ,列“ A”的总和为2(1 + 1),而行的列“ A”的总和为7(2 + 1 + 4)。重要的是时间窗口(5分钟)的过去行数对于每一行都是不同的(因为时间序列是不规则的)。 如何在pandas中使用rolling_sum方法获取列“ A”的最后五分钟总和?提前致谢。
scroll 事件允许对页面或元素滚动作出反应。我们可以在这里做一些有用的事情。 例如: 根据用户在文档中的位置显示/隐藏其他控件或信息。 当用户向下滚动到页面末端时加载更多数据。 这是一个显示当前滚动的小函数: window.addEventListener('scroll', function() { document.getElementById('showScroll').innerH
jd.pageScrollTo(OBJECT) 将页面滚动到目标位置。 OBJECT 参数说明: 参数 类型 必填 说明 scrollTop Number 是 滚动到页面的目标位置(单位px) duration Number 否 滚动动画的时长,默认300ms,单位 ms 示例代码 jd.pageScrollTo({ scrollTop: 0, duration: 500 })
我有一个类可以画一些非常简单的图形,比如直线、圆和矩形。线条可以动态扩展,有时当它们扩展到超出分辨率时,如果没有滚动条,就无法看到。因此,我已经将JScrollPane添加到JFrame中,但不幸的是,尽管已经调用了布局管理器,但滚动条还是无法滚动。 这是我所拥有的:-一个绘制组件(线条、矩形、圆形)的类-一个设置JFrame/JScrollPane的类 这是我的GUI类的摘录代码: 通过上面的代