python pandas cumsum求累计次数的用法

yipeiwu_com6年前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笔记之观察者模式

观察者模式中的主题对象一般存在着一个其他服务依赖的核心服务,并且维护着其他依赖此核心服务的对象列表(即观察者或监视者列表),当主题对象发生变化时,观察者应该改变自己的状态或者进行某些操作...

Python将json文件写入ES数据库的方法

Python将json文件写入ES数据库的方法

1、安装Elasticsearch数据库 PS:在此之前需首先安装Java SE环境 下载elasticsearch-6.5.2版本,进入/elasticsearch-6.5.2/bin...

Python实现快速计算词频功能示例

本文实例讲述了Python实现快速计算词频功能。分享给大家供大家参考,具体如下: 这几天看到一位同事的代码,方法如下: def cut_word(body): temp_dict...

python+opencv实现高斯平滑滤波

python+opencv实现高斯平滑滤波

功能: 创建两个滑动条来分别控制高斯核的size和σσ的大小,这个程序是在阈值分割的那个程序上改动的。阈值分割程序在这 注意:由于σ=0σ=0时,opencv会根据窗口大小计算出σσ...

Python实现朴素贝叶斯分类器的方法详解

本文实例讲述了Python实现朴素贝叶斯分类器的方法。分享给大家供大家参考,具体如下: 贝叶斯定理 贝叶斯定理是通过对观测值概率分布的主观判断(即先验概率)进行修正的定理,在概率论中具有...