使用pandas实现滑动窗口
创始人
2025-06-01 08:10:16
0

滑动窗口的用处很多,比如连续3个订单中的最大值

介绍

窗口函数(Window Function)是一种在关系型数据库中使用的函数,通常用于计算某个范围内的数据。在数据分析中,窗口函数也是一种非常有用的工具,可以轻松地对数据进行滑动窗口处理,计算移动平均值、移动总和等等。

在本文中,我们将使用pandas库来实现窗口函数。pandas是一种流行的数据处理库,它提供了许多用于数据处理和分析的工具,其中包括窗口函数。

示例数据

为了演示窗口函数的使用,我们将使用一个示例数据集,其中包含每月的销售数据。

import pandas as pddata = {'Month': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],'Sales': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120]}df = pd.DataFrame(data)
dfMonth  Sales
0    Jan     10
1    Feb     20
2    Mar     30
3    Apr     40
4    May     50
5    Jun     60
6    Jul     70
7    Aug     80
8    Sep     90
9    Oct    100
10   Nov    110
11   Dec    120

移动平均值

移动平均值是一种常见的窗口函数,用于计算一段时间内的平均值。在pandas中,我们可以使用rolling函数来计算移动平均值。

df['MA'] = df['Sales'].rolling(window=3).mean()

在上面的代码中,我们使用了rolling函数,并将窗口大小设置为3,即计算每三个月的平均值。计算出的结果将存储在一个名为“MA”的新列中。

移动总和

移动总和是另一种常见的窗口函数,用于计算一段时间内的总和。在pandas中,我们可以使用rolling函数来计算移动总和。

df['MS'] = df['Sales'].rolling(window=3).sum()

在上面的代码中,我们使用了rolling函数,并将窗口大小设置为3,即计算每三个月的总和。计算出的结果将存储在一个名为“MS”的新列中。

df['MA'] = df['Sales'].rolling(window=3).mean()
... 
dfMonth  Sales     MA
0    Jan     10    NaN
1    Feb     20    NaN
2    Mar     30   20.0
3    Apr     40   30.0
4    May     50   40.0
5    Jun     60   50.0
6    Jul     70   60.0
7    Aug     80   70.0
8    Sep     90   80.0
9    Oct    100   90.0
10   Nov    110  100.0
11   Dec    120  110.0

最大值和最小值

除了移动平均值和移动总和之外,我们还可以使用rolling函数来计算一段时间内的最大值和最小值。

df['Max'] = df['Sales'].rolling(window=3).max()
df['Min'] = df['Sales'].rolling(window=3).min()

在上面的代码中,我们使用了rolling函数,并将窗口大小设置为3,分别计算了最大值和最小值。计算出的结果将存储在名为“Max”和“Min”的新列中。

dfMonth  Sales     MA    Max    Min    Sum
0    Jan     10    NaN    NaN    NaN    NaN
1    Feb     20    NaN    NaN    NaN    NaN
2    Mar     30   20.0   30.0   10.0   60.0
3    Apr     40   30.0   40.0   20.0   90.0
4    May     50   40.0   50.0   30.0  120.0
5    Jun     60   50.0   60.0   40.0  150.0
6    Jul     70   60.0   70.0   50.0  180.0
7    Aug     80   70.0   80.0   60.0  210.0
8    Sep     90   80.0   90.0   70.0  240.0
9    Oct    100   90.0  100.0   80.0  270.0
10   Nov    110  100.0  110.0   90.0  300.0
11   Dec    120  110.0  120.0  100.0  330.0

结论

在本文中,我们介绍了使用pandas库来实现窗口函数。我们演示了如何使用rolling函数来计算移动平均值、移动总和、最大值和最小值。

关注我,点赞我,评论我

来

 

相关内容

热门资讯

最新或2023(历届)坚持写日... 坚持写日记倡议书  月份,我校即将迎来东台市特色学校验收活动。我校申报的是日记教育特色学校。几来,我...
医疗募捐倡议书 医疗募捐倡议书... 医疗募捐倡议书  朋友们:  生命对于我们每一个人来说都是一个伟大的奇迹,它是父母赐予我们的神圣礼物...
保护家园倡导书 保护家园倡导书... 保护家园倡导书  虽然这个世界有着多姿多彩的外貌,但是,它的内心却像人类一样,非常的脆弱,只要你对它...
亲子读书活动倡导书 亲子读书活... 亲子读书活动倡导书  亲爱的激朋友们:为了丰富孩子的暑期生活,增加孩子的阅读兴趣,七彩阳光家庭教育指...
纪委书记严以用权研讨发言稿 纪... 各位同志们:  大家好!  现实生活中,常会听人讲,我也不是官我也没有权,没有必要束缚自己。但我想,...
党员领导干部用权为民专题发言稿... 各位同志们:  大家好!  本次为严以用权:确保为民用权干净用权市政府党组举行“三严三实”第三次专题...
纪委书记严以用权专题发言稿 纪... 各位同志们:  大家好!  目前,习大大在全国组织工作会议上指出,好干部要做到信念坚定、为民服务、勤...
严以用权专题研讨会发言稿汇总篇... 习近平同志对党员干部作风建设提出“三严三实”的要求,其中之一就是“严以用权”。权力是把双刃剑,正确用...
严以用权专题学习研讨发言稿 严... 严以用权直指党员干部作风的核心问题,是对全体党员干部的一贯要求。党员干部能否严以用权,谨记“为公”、...
小学生世界勤俭日国旗下讲话稿(...  10月31日世界勤俭日,最早是在1924年举办的第一届国际储蓄银行大会上由意大利教授提出并最终于2...
世界勤俭日国旗下讲话发言稿 世...   10月31日是我们的世界勤俭日,关于世界勤俭日的国旗下讲话稿可以说些什么内容呢?我们一起来看看关...
最新或2023(历届)10月3...  勤俭节约向来都是我们中华民族的传统美德,10月31日是由联合国确定的“世界勤俭日”。下面是小编给同...
最新或2023(历届)世界勤俭... 古人说:力览前贤国与家,成由勤俭败由奢。纵览全球,许多国家,包括很多的发达国家,都把节约奉为立国之本...
关于善意的谎言辩论会反方观点 ...  反方发言稿  敬爱的老师,亲爱的同学们以及对方辩友:  大家好!我们正方的的观点是“生活中可以有善...
善意的谎言辩论赛反方资料 善意...  【善意的谎言事例】  有两个重病人,同住在一家大医院的小病房里。房间很小,只有一扇窗子可以看见外面...
运动会致长跑运动员加油稿 运动... 加油稿一:  漫长的道路依旧漫长,  是猎人哪怕草莽荆棘虎豹豺狼;  是水手怎恐激流漩涡惊涛骇浪; ...
严以用权专题讨论会讲话稿 严以...  落实“三严三实”要求,“修身”、“律己”是基础,“严以用权”是落脚点,是领导干部作风建设的核心。规...
学校运动会加油稿100字(20...  篇一:跑道  宝剑锋从磨砺出,梅花香自苦寒来。"在经过一个月的辛苦的训练,今天,你终于站在了跑道上...
运动会加油稿100字精选 运动...  1.运动场上有你们的飒爽英姿,运动场上有你们拼搏的身影,运面对漫漫的征程,你没有畏惧和退缩,任汗水...
小学运动会广播稿200字多篇 ...   运动会广播稿200字范文1  给予的越多,收获的越多;奋斗的越多,收获的越多。坚韧的毅力,坚定的...