Проверьте этот пример данных:
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