Id tags
0 item1 ['friends','family']
1 item2 ['friends']
2 item3 []
3 item4 ['family','holiday']
< /code>
Таким образом, строка может принадлежать нескольким группам. Я хочу создать объект, похожий на GroupBy, чтобы я мог использовать AGG и т. Д. < /p>
df.groupby('tags').count()
< /code>
ожидаемый результат < /p>
tags count
0 'friends' 2
1 'family' 2
2 'holiday' 1
< /code>
Но, конечно, он не будет работать, потому что он рассматривает весь список как ключ, а не как отдельные теги. Вот попытка < /p>
tagset = set(df.tags.explode())
grpby = { t: df.loc[df.tags.str.contains(t, regex=False)]
for t in tagset }
Насколько я понимаю, объекты группировки имеют примерно такую структуру. Но как сделать его объектом groupby? Чтобы я мог делать такие вещи, как grpby.year.mean() и т. д.?
У меня есть набор данных с группировкой по тегам: [code] Id tags 0 item1 ['friends','family'] 1 item2 ['friends'] 2 item3 [] 3 item4 ['family','holiday'] < /code> Таким образом, строка может принадлежать нескольким группам. Я хочу создать объект, похожий на GroupBy, чтобы я мог использовать AGG и т. Д. < /p> df.groupby('tags').count() < /code> ожидаемый результат < /p> tags count 0 'friends' 2 1 'family' 2 2 'holiday' 1 < /code> Но, конечно, он не будет работать, потому что он рассматривает весь список как ключ, а не как отдельные теги. Вот попытка < /p> tagset = set(df.tags.explode()) grpby = { t: df.loc[df.tags.str.contains(t, regex=False)] for t in tagset } [/code] Насколько я понимаю, объекты группировки имеют примерно такую структуру. Но как сделать его объектом groupby? Чтобы я мог делать такие вещи, как grpby.year.mean() и т. д.?