Pandas 实现分组计数且不计重复
在对dataframe进行分析的时候会遇到需要分组计数,计数的column中属性有重复,但又需要仅对不重复的项计数(即重复N次出现的项只计1次)。
函数如下:
dataframe.groupby([‘分组的列名']).需要计数的列名.nunique()
举例:
数组“data”如下:
| StoreID | Sales | SalesDate | Channel |
|---|---|---|---|
| A | 100 | 2018/1/1 | 01 |
| A | 90 | 2018/1/1 | 02 |
| A | 110 | 2018/1/2 | 01 |
| B | 82.2 | 2018/1/1 | 01 |
| B | 90 | 2018/1/2 | 02 |
如果要按StoreID来统计每一家店的营业日期数(可以通过不计重复的count “SalesDate”来完成)
代码如下:
data.groupby(['StoreID']).SalesDate.nunique()
补充:pandas 统计分组内不重复计数
在数据分析中的数据处理过程中,经常需要对数据进行分组计数,看下下面这组数据

数据中name 为C 的有三行,其中有2个code是重复的
目标:
按name 分组,统计每组中code的不重复数量
df.groupby('name')['code'].nunique()
# 以name 分组后,统计code的不重复数目
结果如下:

排序
df.groupby('name')['code'].nunique().sort_values(ascending=False)
# 以name 分组后,统计code的不重复数目
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
Python利用PyQt5制作一个获取网络实时NBA数据并播报的GUI程序
现在NBA联赛也进行到半决赛了,我们怎么样才能以更快的方法获取NBA的数据呢?这里我们就自己来做一个数据播报的程序,需要的朋友可以参考下2021-06-06
Pandas DataFrame数据的更改、插入新增的列和行的方法
这篇文章主要介绍了Pandas DataFrame数据的更改、插入新增的列和行的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-06-06


最新评论