这些 pandas 按语句分组是做什么的? [英] what does these pandas group by statement does?

查看:41
本文介绍了这些 pandas 按语句分组是做什么的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在关注有关如何构建推荐系统的教程,并发现了这条线

I am following a tutorial on how to build a recommender system and came upon this line

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

我相信第一个groupby首先根据personID对数据进行分组,然后contentID显示其大小,但并不能真正理解下一个groupby会做什么?

The first groupby I believe groups the data first according to personID ,then contentID then shows its size but dont really understand what the next groupby will do ?

来源:在python中构建推荐系统

推荐答案

检查此示例数据:

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

首先获取每列 personId contentId 的计数:

First get count per columns personId and contentId:

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 的第一级进行计数:

And then count by first level of MultiIndex created by personId column:

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

这篇关于这些 pandas 按语句分组是做什么的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆