当前位置: 首页 > 面试题库 >

pandas滚动值

郝永思
2023-03-14
问题内容

如何获得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个值的集合。


问题答案:

我认为您需要先添加NaNs,然后再执行以下解决方案:

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类的摘录代码: 通过上面的代