开发者社区 问答 正文

groupby之后的使用条件

我有一个熊猫dataframe df

import pandas

df = pandas.DataFrame(
    data=[["A", "Man"], ["A", "Woman"], ["A", "Man"], ["A", "Man"], ["B", "Woman"]],
    columns=["category", "gender"],
)

df
  category gender
0        A    Man
1        A  Woman
2        A    Man
3        A    Man
4        B  Woman

我数了一下每个类别里有多少男人和女人

grouped = df.groupby(by=["category", "gender"])["gender"].count()

grouped
category  gender
A         Man       3
          Woman     1
B         Woman     1
Name: gender, dtype: int64

我怎样才能得到一个男人和女人都多于1的类别列表?

category_list = [A]

问题来源StackOverflow 地址:/questions/59382662/use-conditions-after-groupby

展开
收起
kun坤 2019-12-27 17:02:55 1162 分享 版权
1 条回答
写回答
取消 提交回答
  • IIUC,

    s = df.groupby('category')['gender'].value_counts().unstack(fill_value=0)
    
    s[s.ge(1).all(1)]
    

    给你

    gender    Man  Woman
    category            
    A           3      1
    
    2019-12-27 17:03:01
    赞同 展开评论
问答分类:
问答地址: