【问题标题】:Counting unique values in a pandas grouped object计算熊猫分组对象中的唯一值
【发布时间】:2013-08-07 13:28:20
【问题描述】:

我在 pandas/python 中有一个表,我正在执行以下操作:

grouped_data = df_cmets_cols['article_id'].groupby(df_cmets_cols['user_id'])

现在要计算每个用户的文章数量,我执行以下操作:

ct_grouped_data = grouped_data.count()

以上计算的是每个用户的文章 ID 数。但是,有时每个用户有多个相同的文章 ID(从某种意义上说,用户与该文章进行了多次交互),我只想计算每个用户的唯一文章 ID - 有没有快速的方法来做到这一点?

提前致谢。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    我认为您可能正在寻找的是nunique,您可以像这样调用GroupBy 对象:

    In [63]: df = DataFrame({'a': randn(1000, 1)})
    
    In [64]: df['user_id'] = randint(100, 1000, size=len(df))
    
    In [65]: df['article_id'] = randint(100, size=len(df))
    
    In [66]: gb = df.article_id.groupby(df.user_id)
    
    In [67]: gb.nunique()
    Out[67]:
    user_id
    100        2
    101        1
    102        1
    104        2
    105        1
    106        2
    107        1
    110        1
    111        4
    112        2
    113        1
    114        2
    115        1
    116        1
    118        1
    ...
    976        3
    980        1
    982        1
    983        1
    986        1
    987        1
    988        1
    989        2
    990        1
    993        1
    994        2
    996        1
    997        1
    998        1
    999        1
    Length: 617, dtype: int64
    

    【讨论】:

    猜你喜欢
    • 2021-03-17
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2013-07-29
    相关资源
    最近更新 更多