Skip to content

Проекты, сделанные мной во время обучения в Томском государственном университете и для конкурса Yandex DataLens

Notifications You must be signed in to change notification settings

Lenupcik/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проекты по анализу данных

В данном репозитории хранится портфолио моих проектов.

Проекты в основном представлены в виде файлов, подготовленных в Jupyter Notebook на языке Python, а также в виде дашбордов на платформе Yandex DataLens.

Название проекта Описание Инструменты и библиотеки
1 Исследование аудитории фанатов киберспорта в рамках стажировки в ТГУ по специальности "Аналитик данных" Составила портрет пользователя, интересующегося киберспортом и состоящего в сообществе по киберспорту pandas, matplotlib, seaborn
2 Дашборд с портретом фаната киберспорта в рамках стажировки в ТГУ по специальности "Аналитик данных" Создала дашборд на Yandex.DataLens "Cоциально-демографический портрет российского киберспортсмена" datalens.yandex
3 Конкурс по визуализации данных ИНИД на Yandex DataLens Создала дашборд по российским ВУЗам для нескольких категорий пользователей (администрация губернаторов — выбор ВУЗа для включения в перечень на финансирование, ректоры ВУЗов — определение точек роста, абитуриенты— выбор ВУЗа для поступления) datalens.yandex
4 Построение моделей машинного обучения "Предсказание выживет или нет пассажир Титаника" в рамках стажировки в ТГУ по специальности "Аналитик данных" Построила модели Logistic Regression, Decision Tree, Random Forest, Gradient Boosting, MLPClassifier pandas, sklearn, numpy, matplotlib
5 Обработка естественного языка "Тематическое разделение групп ВК" в рамках стажировки в ТГУ по специальности "Аналитик данных" Разбила датасет с описанием групп ВК на тематические области двумя способами(DecisionTreeClassifier и Latent Dirichlet Allocation) pandas, numpy, matplotlib, nltk, sklearn, warnings, multiprocessing, pymorphy2

Примеры запросов к демонстрационной базе данных для СУБД PostgreSQL “Авиаперевозки”

Подготовка:

  1. Описание демонстрационной базы
  2. Скачиваем демонстрационную базу и импортируем в PostgreSQL через командную строку windows
  • Переходим в каталог, где находится скачанная БД
    cd >cd C:\Users\Лена\Desktop\БД
  • Далее выполняем команду для загрузки БД из sql-файла
    "C:\Program Files\PostgreSQL\13\bin\psql" -U postgres -f demo_small.sql

Задание:

Нужно написать запрос, который покажет, по каким дням недели, в какие города и какое количество должно вылететь рейсов из города Москва с “2017-08-15 15:00:00” по “2017-08-25 15:00:00” для пассажиров, купивших билеты в эконом классе на самолет “Аэробус А321-200”, но не прошедших регистрацию.

Входные данные

  • Самолет Аэробус А321-200
  • Билет эконом класса
  • Город вылета Москва
  • Дата вылета с “2016-10-13 19:00:00” по “2016-10-23 19:00:00” (включая начальное и конечное время)
  • Регистрация не пройдена

Выходные данные

  • Номер строки (отдельная колонка). Название колонки rn
  • Список номеров дней недели. Название колонки day_of_week
  • Название города прилета. Название колонки arr_city
  • Количество рейсов вылета. Название колонки cnt

Требования

  • В запросе должна использоваться таблица cities
  • Запрос должен быть “обернут” либо в CTE, либо во временную таблицу
  • Нужно использовать условие where и оператор ->>
  • В выборке данных для json-а нужно использовать функцию lang

Выполнение:

1. создаем таблицу cities

create table cities(
city_id serial not null,
name jsonb not null
);

alter table cities
add constraint pk__id primary key (city_id);

alter table airports_data add column city_id int;

alter table airports_data
add constraint fk__airports__city_id
foreign key (city_id) references cities (city_id);

insert into cities (name)
select distinct city from airports_data;

update airports_data ad
set city_id = c.city_id
from cities c
where ad.city = c.name;

Схема БД после создания таблицы cities Схема БД после создания таблицы cities

Создание таблицы cities Скрин создания таблицы cities

2. Выполняем сам запрос, согласно задания

create temp table mosсow_flights as
select to_char(scheduled_departure, 'ID'::text)::int as day_of_week, c_2.name as city_name
from flights f
join aircrafts_data ac on ac.aircraft_code=f.aircraft_code

join airports_data ap_d on ap_d.airport_code=f.departure_airport
join cities c_1 on c_1.city_id=ap_d.city_id
join airports_data ap_a on ap_a.airport_code=f.arrival_airport
join cities c_2 on c_2.city_id=ap_a.city_id

join ticket_flights tf on tf.flight_id=f.flight_id
left join boarding_passes bp on tf.ticket_no=bp.ticket_no and tf.flight_id=bp.flight_id

where ac.model ->>lang() = 'Аэробус A321-200' and c_1.name ->>lang() = 'Москва'
and bp.ticket_no is NULL and bp.flight_id is NULL
and fare_conditions = 'Economy'
and scheduled_departure between bookings.now() and bookings.now()+interval '10 day'
group by scheduled_departure, c_2.name

select row_number () over () as rn, city_name ->>lang() as arr_city, count(*) as cnt, array_agg(distinct day_of_week) as day_of_week
from mosсow_flights
group by city_name

Выполнение запроса согласно задания Скрин запроса к БД по заданию

About

Проекты, сделанные мной во время обучения в Томском государственном университете и для конкурса Yandex DataLens

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published