python pandas cumsum求累计次数的用法

yipeiwu_com5年前Python基础

本文主要是针对 cumsum函数的一些用法。具体应用场景看下面的数据集。


第一列是userID,第二列是安装的时间,第三列是安装的次数。

我们现在想做一件事情。就是统计用户在某一天前累计的安装次数。

譬如,对userID为20的用户,问在16天前,其安装次数为多少? 答案应该是4次。用python的实现也很简单。

又譬如,userID为44在19天前安装的次数,那就应该是1+3+1+1=6次。

具体代码:(假设数据集为data)

由于是针对每个userID,所以是需要将userID划分一下(这个方法在组内排序的时候有提到,可以参考前面的文章)。

所以才有下面这一句

groupby(['userID'])

然后,分完组后需要统计的Times,所以就是下面这一句

data['Times'].groupby(['userID'])

最后,我们需要的是累加量,所以,用cumsum()这个函数。

data['sum_Times']=data['Times'].groupby(['userID']).cumsum()

用得到的结果放在一列。

最后得到结果如下:


可以从sum_Times这列看到,每一个值都是相应userID在前一行的累加值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python类方法__init__和__del__构造、析构过程分析

最近学习《Python参考手册》学到Class部分,遇到了类的构造析构部分的问题: 1、什么时候构造? 2、什么时候析构? 3、成员变量如何处理? 4、Python中的共享成员函数如何访...

Python对象转换为json的方法步骤

Python中内置了json库,用起来超级方便,json现在以成为开发的必备。 python对象到json字符串的转换规则: Python...

Python使用稀疏矩阵节省内存实例

推荐系统中经常需要处理类似user_id, item_id, rating这样的数据,其实就是数学里面的稀疏矩阵,scipy中提供了sparse模块来解决这个问题,但scipy.spar...

Python中的yield浅析

在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor)。 一、迭代器(iterator) 在Python中,for循环可以用于Pyt...

python发布模块的步骤分享

python发布模块的步骤分享

1.为模块nester创建文件夹nester,其中包含:nester.py(模块文件): 复制代码 代码如下:"""这是"nester.py"模块,提供了一个名为print_lol()函...