У меня есть данные, как показано ниже:
id movie details value
5 cane1 good 6
5 wind2 ok 30.3
5 wind1 ok 18
5 cane1 good 2
5 cane22 ok 4
5 cane34 good 7
5 wind2 ok 2
Я хочу вывод с критериями ниже:
Если название фильма начинается с «трости» - суммируйте значение
Если название фильма начинается с «ветра» - подсчитайте вхождение.
Итак - окончательный результат будет:
id movie value
5 cane1 8
5 cane22 4
5 cane34 7
5 wind1 1
5 wind2 2
Я пытался использовать:
movie_df.groupby(['id']).apply(aggr)
def aggr(x):
if x['movie'].str.startswith('cane'):
y = x.groupby(['value']).sum()
else:
y = x.groupby(['movie']).count()
return y
Но это не работает. Может кто-нибудь помочь, пожалуйста?