Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 4, 2020 14:44:40

estidea
Зарегистрирован: 2020-04-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите понять как работает кусок кода

Не могу для себя определить что именно делает кусок кода из яндекс-практикума. Понятно, что в соответствии с условием заложенным в функцию, выбирает некий 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)

Офлайн

#2 Апрель 4, 2020 18:47:14

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

помогите понять как работает кусок кода

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
>>>

Офлайн

#3 Апрель 4, 2020 22:39:17

estidea
Зарегистрирован: 2020-04-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите понять как работает кусок кода

marvellik
спасибо большое. Получается выводится первое найденное значении из колонки? ведь юзер4 тоже подходит под условие.

Офлайн

#4 Апрель 4, 2020 22:49:03

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

помогите понять как работает кусок кода

estidea
ведь юзер4 тоже подходит под условие.
У тебя функция завершает выполнение (return), как только условие if выполнится

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version