我正在关注有关如何构建推荐系统的教程,并走上了这条线
users_interactions_count_df = interactions_df.groupby(['personId', 'contentId']).size().groupby('personId').size()
我相信第一个groupby首先根据personID对数据进行分组,然后contentID显示其大小,但并不能真正理解下一个groupby会做什么?
答案 0 :(得分: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
每列personId
和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
然后按MultiIndex
列创建的personId
的第一级进行计数:
print (interactions_df.groupby(['personId', 'contentId']).size().groupby('personId').size())
personId
W 2
X 1
Y 1
Z 2
dtype: int64