Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 19, 2020 02:23:22

e.ilyich
Зарегистрирован: 2020-08-19
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите с теорией

Есть задача: “Напишите функцию user_genres, которая принимает некую группировку как свой аргумент group. Функция должна перебирать группы, входящие в эту группировку.
В каждой группе два элемента — имя группы с индексом 0 и список значений с индексом 1.
Обнаружив такую группу, в которой список (элемент с индексом 1) содержит более 50 значений, функция возвращает имя группы (значение элемента с индексом 0).”

 import pandas as pd
df = pd.read_csv('music_log_upd.csv')
def user_genres(group):
	for col in group:
		if col[1].count() > 50:  # назначьте условие: если длина столбца col с индексом 1 больше 50, тогда
			user = col[0]  # в переменной user сохраняется элемент col[0]
			return user

После некоторых затруднений я решил задачу, но скорей методом тыка. Код работает. Но, видимо, в целом я не очень разобрался как работать с типом данных Series. Я не понимаю как устроена индексация, почему col1 и col0 а не наоборот, что из чего вытекает? Пожалуйста, объясните механизм действия этой функции на пальцах.

Отредактировано e.ilyich (Авг. 19, 2020 02:24:05)

Офлайн

#2 Авг. 19, 2020 03:04:15

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

помогите с теорией

e.ilyich
Есть задача: “Напишите функцию user_genres, которая принимает некую группировку как свой аргумент group. Функция должна перебирать группы, входящие в эту группировку.
В каждой группе два элемента — имя группы с индексом 0 и список значений с индексом 1.
Обнаружив такую группу, в которой список (элемент с индексом 1) содержит более 50 значений, функция возвращает имя группы (значение элемента с индексом 0).”
  
>>> def user_genres(group):
...     group_values_max = 50
...     for group_name, group_values in group:
...         if len(group_values) > group_values_max:
...             return group_name
...     return None
... 
>>> lst = [['name1', ['value'] * 10],
...        ['name2', ['value'] * 20],
...        ['name3', ['value'] * 60],
...        ['name4', ['value'] * 30]]
>>> 
>>> user_genres(lst)
'name3'
>>>



Отредактировано py.user.next (Авг. 19, 2020 03:07:05)

Офлайн

#3 Авг. 19, 2020 15:39:31

e.ilyich
Зарегистрирован: 2020-08-19
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите с теорией

Спасибо! примерно понял.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version