Форум сайта python.su
Не могу для себя определить что именно делает кусок кода из яндекс-практикума. Понятно, что в соответствии с условием заложенным в функцию, выбирает некий user_id. Но вот я пытаюсь для себя описать словами эту функцию и не получается прийти к осмысленному ответу. Моя версия:"если количество значений первого столбца группы больше пятидесяти, то выбранному айди присваивается… (тут я не понимаю что присваивается, не значение же колонки нулевой). А если в таблице не один id со значением больше 50, то все равно на выходе один id. В общем, задание выполняю, а что делаю не понимаю и это раздражает.
genre_grouping = df.groupby('user_id')['genre_name'] def user_genres(group): for col in group: if len(col[1]) > 50: user = col[0] return user search_id = user_genres(genre_grouping)
Отредактировано FishHook (Апрель 4, 2020 15:09:53)
Офлайн
estideaкак раз это значение.
не значение же колонки нулевой)
>>> genre_grouping = [('user_1', 45),('user_2', 49),('user_3',55),('user_4',75)] >>> def user_genres(group): for col in group: if col[1] > 50: user = col[0] return user >>> search_id = user_genres(genre_grouping) >>> print(search_id) user_3 >>>
Офлайн
marvellikспасибо большое. Получается выводится первое найденное значении из колонки? ведь юзер4 тоже подходит под условие.
Офлайн
estideaУ тебя функция завершает выполнение (return), как только условие if выполнится
ведь юзер4 тоже подходит под условие.
Офлайн