【问题标题】:what does these pandas group by statement does?这些 pandas 的 group by 语句是做什么的?
【发布时间】:2019-03-21 20:34:59
【问题描述】:

我正在关注如何构建推荐系统的教程并遇到了这一行

users_interactions_count_df = interactions_df.groupby(['personId', 'contentId']).size().groupby('personId').size()

第一个 groupby 我相信首先根据 personID 对数据进行分组,然后 contentID 然后显示它的大小但真的不明白下一个 groupby 会做什么?

来源:Building recommendation system in python

【问题讨论】:

    标签: python pandas group-by


    【解决方案1】:

    检查此示例数据:

    interactions_df = pd.DataFrame({
             'personId':list('XXYYWZWZ'),
             'contentId':list('aaaabbaa')
    })
    
    print (interactions_df)
      personId contentId
    0        X         a
    1        X         a
    2        Y         a
    3        Y         a
    4        W         b
    5        Z         b
    6        W         a
    7        Z         a
    

    首先获取每列 personIdcontentId 的计数:

    print (interactions_df.groupby(['personId', 'contentId']).size())
    personId  contentId
    W         a            1
              b            1
    X         a            2
    Y         a            2
    Z         a            1
              b            1
    dtype: int64
    

    然后按由personId 列创建的MultiIndex 的第一级计数:

    print (interactions_df.groupby(['personId', 'contentId']).size().groupby('personId').size())
    personId
    W    2
    X    1
    Y    1
    Z    2
    dtype: int64
    

    【讨论】:

      猜你喜欢
      • 2012-08-12
      • 2011-02-14
      • 2021-11-07
      • 2014-08-04
      • 2013-11-19
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 2011-11-15
      相关资源
      最近更新 更多