如何使 window 滚动到行而不是 Python 中的列?
How do I make the window roll across the rows instead of the columns in Python?
我有以下代码,它按列滚动大小为 3 的 window(即向下,如图中绿色所示)。但是,我希望 window 按行滚动(即向右,如图中蓝色所示)。
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)
按列输出是:
但这不是我想要的 - 我希望它能按行给出 windows 的平均值。我该如何实现这一目标?
编辑:
在编辑上面的代码以在滚动函数中包含 axis=1 之后,这是我得到的输出:
我不确定上面 520.67、635.33 等的值是如何计算的。我期待以下内容(第一个单元格:788 + 43 + 345)/3 = 392,等等...):
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)
我有以下代码,它按列滚动大小为 3 的 window(即向下,如图中绿色所示)。但是,我希望 window 按行滚动(即向右,如图中蓝色所示)。
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)
按列输出是:
但这不是我想要的 - 我希望它能按行给出 windows 的平均值。我该如何实现这一目标?
编辑:
在编辑上面的代码以在滚动函数中包含 axis=1 之后,这是我得到的输出:
我不确定上面 520.67、635.33 等的值是如何计算的。我期待以下内容(第一个单元格:788 + 43 + 345)/3 = 392,等等...):
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)