нужно функцией добавить варианты функционала
нужно функцией добавить варианты функционала:
1.Определите количество девушек и количество мальчиков группе ВП
Определите средний возраст девушек и мальчиков в группе ВП, предварительно уточнив его в базе студентов.
Сравните в которой из групп КН или ВП большее количество девушек и мальчиков.
Найдите парня / девушку с длинным именем. выбор критерия поиска парень / девушка ввести с консоли
- для групи ВП my_string = «Ф; И; О; Возраст; Категория; Глушов Ирина Андреевна; 18 лет Студент 1 курса; Иванов Степан Владимирович; 18 лет Студент 1 курса; Петльова Софія Олександрівна; 18 років; Студент 1 курсу; Петровая Софья Александровна; 18 лет студент 1 курса; Дзюба Олег Викторович; 18 лет Студент 1 курса; Река Наталия Андреевна; 18 лет Студент 1 курса; Сигловийчик Иван Богданович; 18 лет Студент 1 курса; Сологуб Ростислав Андреевич; 18 лет Студент 1 курса;»
- для групи КН my_string = «Ф; И; О; Возраст; Категория; Баб`як Анна Орестовна; 18 лет Студент 1 курса; Гупало Роман Романович; 18 лет Студент 1 курса; Костюк Павел Юрьевич; 18 лет Студент 1 курса; Мазур Владислав Александрович; 18 лет Студент 1 курса; Алексин Влас Михайлович; 18 лет студент 1 курса; Рендович Руслан-игр Русланович; 18 лет Студент 1 курса; Свечение Андрей Андреевич; 18 лет Студент 1 курса; Семен Светлана Романовна; 18 лет Студент 1 курса; Худьо Юрий Игоревич; 18 лет Студент 1 курса; Банах Любомир Олегович; 18 лет Студент 1 курса; Бородач Василий Викторович; 18 лет Студент 1 курса;»
вот что я смог сделать код
import pandas as pd
import numpy as np
my_string = "Ф; И; О; возраст; категория; Глушов Ирина Андреевна; 18 лет Студент 1 курса; Иванов Степан Владимирович; 18 лет Студент 1 курса; Петровая Софья Александровна; 18 лет студент 1 курса; Дзюба Олег Викторович; 18 лет Студент 1 курса; Река Наталия Андреевна; 18 лет Студент 1 курса; Сигловийчик Иван Богданович; 18 лет Студент 1 курса; Сологуб Ростислав Андреевич; 18 лет Студент 1 курса"
tmp = my_string.split('; ')
colum = tmp[:5]
dct = dict()
for i in range(5, len(tmp), 2):
t1 = tmp[i].split()
t2 = tmp[i+1].split(' ', 2)
t1.extend([t2[0], t2[2]])
for i, key in enumerate(colum):
dct.setdefault(key, []).append(t1[i])
data = pd.DataFrame(dct)
data['возраст'] = data['возраст'].astype(int)
print(data)
print()
mask_girl = data['О'].map(lambda x: x.endswith('на'))
mask_guy = data['О'].map(lambda x: x.endswith('ич'))
print('количество девушек')
print(data[mask_girl].shape[0])
print()
print('количество юношей')
print(data[mask_guy].shape[0])
print()
print('средний возраст девушек')
print(data[mask_girl]['возраст'].mean())
print()
print('средний возраст юношей')
print(data[mask_guy]['возраст'].mean())
print()
df_tmp = data[mask_guy]['И']
print('парень с самым длинным именем')
print(df_tmp[df_tmp.map(len) >= df_tmp.map(len).max()].values[0])
print()
df_tmp = data[mask_girl]['И']
print('девушка с самым длинным именем')
print(df_tmp[df_tmp.map(len) >= df_tmp.map(len).max()].values[0])