【问题标题】:Python pandas dataframe group by based on a conditionPython pandas数据框根据条件分组
【发布时间】:2015-09-26 23:57:15
【问题描述】:

我的问题很简单,我有一个数据框,我 groupby 基于列的结果并得到如下大小:

df.groupby('column').size()

现在的问题是我只想要尺寸大于 X 的那些。我想知道我是否可以使用 lambda 函数或类似的东西来做到这一点?我已经试过了:

df.groupby('column').size() > X

它会打印出一些 True 和 False 值。

【问题讨论】:

    标签: python pandas group-by conditional-statements dataframe


    【解决方案1】:

    试试这个代码:

    df.groupby('column').filter(lambda group: group.size > X)
    

    【讨论】:

      【解决方案2】:

      分组的结果是一个常规的DataFrame,所以像往常一样过滤结果:

       import pandas as pd
      
       df = pd.DataFrame({'a': ['a', 'b', 'a', 'a', 'b', 'c', 'd']})
       after = df.groupby('a').size()
       >> after
       a
       a    3
       b    2
       c    1
       d    1
       dtype: int64
      
       >> after[after > 2]
       a
       a    3
       dtype: int64
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-18
        • 2017-12-15
        • 2023-02-22
        • 1970-01-01
        • 2021-06-20
        • 1970-01-01
        • 2020-12-14
        • 1970-01-01
        相关资源
        最近更新 更多