dataframe rolling函数
时间: 2023-08-30 19:09:24 浏览: 113
DataFrame 的 rolling() 函数可以对数据进行滚动计算,即对每一列的数据按照指定的窗口大小进行滑动计算。这个函数可以用于多种数据分析场景,如计算移动平均值、计算某段时间内的最大值等。
rolling() 函数的基本语法如下:
```python
DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)
```
参数说明:
- window:滑动窗口的大小,可以是一个整数,表示窗口大小,或者是一个时间周期的字符串,表示时间窗口的大小。
- min_periods:可选参数,指定每个滚动窗口中所需的最小非 NA 值数量,不足会返回 NaN。
- center:可选参数,默认为 False,表示窗口的计算方式是以窗口右侧的值为准还是以窗口中心的值为准。
- win_type:可选参数,表示窗口的类型,默认为 None,表示普通的滑动窗口。可以选择其他窗口类型,如高斯窗口等。
- on:可选参数,表示对某个列进行窗口计算,需要指定该列的列名。
- axis:可选参数,默认为 0,表示按列进行滑动计算。如果设置为 1,则表示按行进行滑动计算。
- closed:可选参数,表示是否包含窗口的两端数据。默认为 None,表示包含两端数据。如果设置为 left 或 right,则表示不包含左侧或右侧数据。
rolling() 函数返回一个 Rolling 对象,是一个 DataFrameGroupBy 对象。可以在该对象上进行聚合操作,如 mean()、sum() 等。例如:
```python
import pandas as pd
data = {'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)
rolling_df = df.rolling(window=3)
rolling_mean = rolling_df.mean()
print(rolling_mean)
```
输出结果为:
```
A B
0 NaN NaN
1 NaN NaN
2 2.0 20.0
3 3.0 30.0
4 4.0 40.0
```
可以看到,rolling() 函数计算出了每一列的滑动平均值。其中前两行为 NaN 是因为在窗口大小为 3 的情况下,前两个数据无法计算出平均值。
阅读全文