python - 在 Python 中,如何使窗口在行而不是列上滚动?

标签 python pandas window rolling-computation

我有以下代码可以按列滚动大小为 3 的窗口(即向下,如图中绿色所示)。但是,我希望窗口按行滚动(即如图中蓝色所示向右滚动)。
enter image description here

window_size = 3 

numbers_series = X  #X is my dataframe
windows = numbers_series.rolling(window_size)
moving_averages = windows.mean()
moving_averages_list = moving_averages.values.tolist()
without_nans = moving_averages[window_size - 1:]
print(without_nans)

按列输出是:
enter image description here
但这不是我想要的 - 我希望它能够按行给出窗口的平均值。我该如何实现这一目标?
编辑:
编辑上述代码以在滚动函数中包含 axis=1 后,这是我得到的输出:
enter image description here
我不确定上面 520.67、635.33 等的值是如何计算的。我期待以下(第一个单元格:788 + 43 + 345)/3 = 392,等等...):
enter image description here

最佳答案

pandas.DataFrame.rolling 有一个轴参数。
DataFrame.rolling

DataFrame.rolling(
    window, 
    min_periods=None, 
    center=False, 
    win_type=None, 
    on=None, 
    axis=0, # Set axis to 1.
    closed=None) 

关于python - 在 Python 中,如何使窗口在行而不是列上滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68135383/

相关文章:

c - C 开发人员需要学习的具有 UI 的编程语言

python - 我的 QPainter 既不画线也不抛出错误,我该如何解决这个问题?

python - 为python构建MPI步骤时出现问题

python - 'know' 闭包需要如何保留状态信息?

python - 如何使用相同的索引分割 pandas 数据框

python - Series.index 与 Series.index.values

vim: "extend"窗口进入下一个窗口

python - 如何重新索引以合并两个数据框?

pandas - collect() 或 toPandas() 在 pyspark/EMR 中的大型 DataFrame 上

java - Storm 中具有计数和持续时间的翻滚窗口