首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Count if with 2 conditions - Python

Count if with 2 conditions - Python
EN

Stack Overflow用户
提问于 2020-05-28 23:56:58
回答 1查看 101关注 0票数 3

我在解决这个问题上遇到了一些困难,所以我来这里寻求你的帮助。

我有一个包含许多列的数据帧,我想计算一个特定列中有多少个单元格满足另一个列的条件。在Excel中,这应该是count.if,但我不能准确地解决我的问题。让我给你举个例子。

代码语言:javascript
复制
Names    Detail

John      B
John      B
John      S
Martin    S
Martin    B
Robert    S

例如,在这个df中,总共有3个"B“和3个"S”。

我怎样才能得到A列中每个名字有多少个"B“和"S”?

我正在尝试获取一个结果数据帧,如

代码语言:javascript
复制
         B      S
John     2      1
Martin   1      1
Robert   0      1

我试过了

代码语言:javascript
复制
b_var = sum(1 for i in df['Names'] if i == 'John') 
s_var = sum(1 for k in df['Detail'] if k == 'B')

然后做一个for?但我不知道如何同时满足这两个条件,还是采用分组方式更好?

谢谢!!

EN

回答 1

Stack Overflow用户

发布于 2020-05-29 01:29:46

代码语言:javascript
复制
df.pivot_table(index='Names', columns='Detail', aggfunc=len)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62069098

复制
相关文章

相似问题

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