Я немного играю с Last.fm набором данных. Набор данных состоит из идентификатора пользователя, имени исполнителя и количества воспроизведений. как то так:
user artist plays
0 00000c289a1829a808ac09c00daf10bc3c4e223b betty blowtorch 2137
1 00000c289a1829a808ac09c00daf10bc3c4e223b die Ärzte 1099
2 00000c289a1829a808ac09c00daf10bc3c4e223b melissa etheridge 897
3 00000c289a1829a808ac09c00daf10bc3c4e223b elvenking 717
4 00000c289a1829a808ac09c00daf10bc3c4e223b juliette & the licks 706
Теперь я хочу немного очистить эти данные. Поскольку многие имена неверны, я хочу удалить исполнителей, которые играются менее чем, скажем, 50 раз всеми пользователями .
Полагаю, мне следует использовать groupby и попытаться их посчитать. Но так как я немного новичок в пандах и мой набор данных очень большой, я хотел знать, как лучше всего удалять эти элементы.
ТЛ; др:
Каков наилучший способ удалить наиболее часто встречающихся художников?
PS (редактировать):
Желаемым выходом будет кадр данных с той же схемой, что и вход, без исполнителей, которые были воспроизведены ( Сумма их воспроизведений для всех пользователей ) меньше определенного числа.
PS2 :
Например, у меня есть этот набор данных:
df = pd.DataFrame({
'user': 3 * ('abc'),
'artist': 3 * ('metallica', 'coldplay', 'dfj'),
'plays': [100,24,0,48,135,10,62,38,2]
})
Итак, у нас есть этот фрейм данных:
user artist plays
0 a metallica 100
1 a coldplay 24
2 a dfj 3
3 b metallica 48
4 b coldplay 135
5 b dfj 10
6 c metallica 62
7 c coldplay 38
8 c dfj 2
Теперь "dfj" было сыграно всего 15 раз . Я хочу удалить "dfj" и вернуть что-то вроде этого:
user artist plays
0 a metallica 100
1 a coldplay 24
3 b metallica 48
4 b coldplay 135
6 c metallica 62
7 c coldplay 38