美文网首页
Pandas rolling()函数解析

Pandas rolling()函数解析

作者: 不可能打工 | 来源:发表于2024-12-01 19:31 被阅读0次

Pandas 的 rolling() 函数用于在数据框或系列上创建一个滚动窗口(滑动窗口),这对于计算移动平均、移动总和等统计量非常有用。rolling() 函数通过在指定的窗口大小上应用某种聚合函数来实现这些操作。

基本用法

rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, method='single')

  • window: 窗口大小,必需参数,指定计算时的窗口长度。
  • min_periods: 窗口内所需的非NA值的最小数量,默认为窗口大小。
  • center: 布尔值,是否设置窗口居中。
  • win_type: 窗口类型(如三角形、汉宁等),默认无。
  • on: 指定用于窗口的列(仅适用于DataFrame)。
  • axis: 指定滚动窗口应用的轴,默认0(行)。
  • method: 计算方法,默认为'single'。

示例

假设我们有一个数据框 df,其中包含一列数据:

import pandas as pd

# 创建示例数据
data = {'Value': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}
df = pd.DataFrame(data)

# 计算滚动窗口的平均值
df['Rolling_Mean'] = df['Value'].rolling(window=3).mean()

print(df)

结果

   Value  Rolling_Mean
0      1           NaN
1      2           NaN
2      3           2.0
3      4           3.0
4      5           4.0
5      6           5.0
6      7           6.0
7      8           7.0
8      9           8.0
9     10           9.0

解释

  1. 窗口大小为3:这意味着计算每个位置的平均值时,会考虑当前元素及其前两个元素。
  2. 前两个结果为NaN:因为在计算第一个和第二个元素的滚动平均时,窗口内的元素不足3个。
  3. 从第三个元素开始(1+2+3)/3 = 2.0(2+3+4)/3 = 3.0,依此类推。

其他常用聚合函数

  • sum(): 计算窗口内的总和。
  • max(): 计算窗口内的最大值。
  • min(): 计算窗口内的最小值。
  • std(): 计算窗口内的标准差。
  • var(): 计算窗口内的方差。

通过使用不同的聚合函数,rolling() 可以用于各种类型的移动统计计算。

相关文章

网友评论

      本文标题:Pandas rolling()函数解析

      本文链接:https://www.haomeiwen.com/subject/wrbjsjtx.html