python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > DataFrame窗口函数rolling()

DataFrame窗口函数rolling()的用法

作者:伴生伴熟

这篇文章主要介绍了DataFrame窗口函数rolling()的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

DataFrame窗口函数rolling()

在数据开发最经常会用到将最近几个值相加、求平均等操作,类似SQL的group by

在Dataframe中使用rolling操作简单、计算效率高

官方文档链接

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

参数说明

示例代码

# -*- coding:utf-8 -*-
import pandas as pd
import numpy as np

# 创建DF
df = pd.DataFrame(np.random.randint(5, size=(10, 2)), index=pd.date_range('1/1/2020', periods=10), columns=['A', 'B'])
# 将B列最近2个值相加并生成新列
df['C'] = df['B'].rolling(window=2).sum()
# 将B列最近5个值相加并生成新列
df['D'] = df['B'].rolling(window=5).sum()

# 将B列最近2个值求平均并生成新列
df['E'] = df['B'].rolling(window=2).mean()
# 将B列最近5个值求平均并生成新列
df['F'] = df['B'].rolling(window=5).mean()

print(df)

输出结果:

            A  B    C    D    E    F
2020-01-01  4  0  NaN  NaN  NaN  NaN
2020-01-02  4  1  1.0  NaN  0.5  NaN
2020-01-03  1  4  5.0  NaN  2.5  NaN
2020-01-04  2  2  6.0  NaN  3.0  NaN
2020-01-05  0  1  3.0  8.0  1.5  1.6
2020-01-06  2  1  2.0  9.0  1.0  1.8
2020-01-07  4  1  2.0  9.0  1.0  1.8
2020-01-08  3  0  1.0  5.0  0.5  1.0
2020-01-09  3  4  4.0  7.0  2.0  1.4
2020-01-10  3  3  7.0  9.0  3.5  1.8

常用聚合函数

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文