首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas Python - get value counts by grouped

Pandas Python - get value counts by grouped
EN

Stack Overflow用户
提问于 2016-08-27 01:49:06
回答 2查看 1.2K关注 0票数 2

我遇到过这样一种情况:多个客户in可能属于同一个帐户,并且所有记录都归入以下两个组之一:

代码语言:javascript
复制
CUSTOMER_ACCOUNT_ID     CUSTOMER_ID GROUP
123                          555    A
123                          556    A
124                          557    B
124                          558    B
125                          559    A

我想要做的是获得属于每个组的唯一CUSTOMER_ACCOUNT_IDs的计数。也就是说,我不关心一个账号属于多少个customer_ids,我只想看看每个组有多少个账号。我正在寻找这个输出

代码语言:javascript
复制
GROUP   COUNT
A        2
B        1

即每个组的唯一帐号数量。一种想法是,我想要折叠或删除CUSTOMER_ID维度,所以剩下的就是

代码语言:javascript
复制
CUSTOMER_ACCOUNT_ID     GROUP
123                       A
124                       B
125                       A

然后对GROUP进行值计数,但我不确定如何处理。我确实找到了一种很难看的方式来做这件事,但我对熊猫来说还不熟悉R,所以我猜还有一种更直接的方式,我还不知道……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-27 01:55:08

您可以在分组后使用nunique()方法:

代码语言:javascript
复制
df.groupby('GROUP')['CUSTOMER_ACCOUNT_ID'].nunique().reset_index()

# GROUP CUSTOMER_ACCOUNT_ID
# 0   A                   2
# 1   B                   1
票数 3
EN

Stack Overflow用户

发布于 2016-08-27 02:13:30

这就是你想要实现的吗?

代码语言:javascript
复制
In [103]: df.drop_duplicates(['CUSTOMER_ACCOUNT_ID', 'GROUP']).drop('CUSTOMER_ID', 1)
Out[103]: 
   CUSTOMER_ACCOUNT_ID GROUP
0                  123     A
2                  124     B
4                  125     A
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39172047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档