python中rolling窗口函数滚动计算一个日期前10天的累计和

528 阅读3分钟

论高效利用互联网工具检索信息的重要性。

千万不要小瞧了互联网信息检索工具的使用能力,作为一个半生码农的数据分析师,代码又不是天天写,你总是记不住各种功能的函数名称?可以理解,并且很正常!原谅自己吧~

但如果情况是:同样的问题你描述不清楚,再如此丰富的信息海洋中,无法快速找到解决问题的参考案例。一个简单的问题,在网上搜呀搜,找呀找,耗费大量时间和精力才能找到一篇好帖子作参考最终解决问题。那你还是要担忧一下自己!

  • 背景描述
    想要构建一个特征,基于每天都值去计算距离当期前x天都一个累计值,之所以说是前x天,是因为具体哪个特征比较好,笔者也不清楚,需要试一试呢。

    所以没有在SQL脚本中就把这一步做了,而是做了个到每日的基础特征,再通过python来动态加工生成特征,选取最优的特征。

  • 解决方案

import pandas as pd
data = pd.read_excel("./0222-0228.xlsx',sheet_name='训练用数据")
data.head()

data.index = data['日期']
data['特征a'].rolling(10).sum().head(20)
` 

在这里插入图片描述

  • 注意事项
    使用时间窗口函数,dataframe的索引必须是日期类型😯,如果不是那找一个日期列自行进行类型转换,并且赋值给index属性。

搞完这个就可以任性的写个for循环自动加工特征,去分析新加的特征与因变量y的相关关系,选择最相关的构造特征,加入到模型中。

🐂🐂🐂这就是特征工程的活啦!

👏👏👏再看看我们以前的文章😃😃😃
🌺 Excel中数据分析工具库-相关系数篇
🌺 干货,手把手教会你做相关性分析
🌺 5年数据分析路,小结。
🌺 用户细分及画像分析
🌺 K-近邻算法及实践

欢迎关注,微信公众号“数据分析师之家
扫描二维码 关注我们
💁提供职业规划、简历指导、面试辅导服务哦
QQ交流群:254674155
在这里插入图片描述