Skip to content

behzod33/da_final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Аналитика данных о фильмах и кинотеатрах

Описание проекта

Данный проект посвящен созданию интерактивного дашборда для анализа данных о фильмах и кинотеатрах. В проекте используются данные, полученные с платформы Kaggle, а также инструменты для обработки данных и визуализации.

Проект состоит из нескольких частей:

  • EDA-анализ (Exploratory Data Analysis) в Jupyter Notebook.
  • Интерактивный дашборд, созданный с использованием Streamlit, который позволяет исследовать данные о фильмах и кинотеатрах в динамическом режиме.

Цель проекта

Создание дашборда для анализа данных, который позволит пользователям:

  • Изучать и фильтровать информацию о фильмах по жанрам, рейтингам и годам выпуска.
  • Анализировать количество сеансов и выручку кинотеатров по месяцам.
  • Сравнивать различные кинотеатры по выручке.
  • Визуализировать данные с использованием интерактивных графиков и фильтров.

Датасет

Датасет взят с Movie Screenings in Theaters на Kaggle. Он содержит данные о сеансах в кинотеатрах, рейтингах фильмов, выручке и многом другом.

Структура датасета

  • movies: данные о фильмах, такие как название, жанр, год выпуска.
  • screenings: информация о сеансах фильмов, включая количество зрителей и время показа.
  • theaters: информация о кинотеатрах, включая их местоположение и выручку.

Структура репозитория

DA_FINAL/
│
├── eda/                             # Папка с файлами для анализа данных
│   ├── eda_task.md                  # Описание выполнения EDA
│   ├── eda.ipynb                    # Jupyter notebook с EDA-анализом
│   └── summary.md                   # Аналитическая записка с выводами
│
├── functions/                       # Папка с функциями
│   ├── db.py                        # Модуль для работы с базой данных
│   ├── ddl.py                       # Модуль для создания таблиц в БД
│   └── plotly_utils.py              # Модуль для создания графиков с использованием Plotly
│
├── queries/                         # Папка с SQL-запросами
│   ├── create_tables.sql            # Скрипт создания таблиц в БД
│   └── create_views.sql             # Скрипт создания представлений в БД
│
├── source/                          # Папка с исходными данными (CSV файлы)
│   ├── combined_data.csv            # Данные о фильмах и сеансах (Создан на основе 4-х других файлов для EDA)
│   ├── genres.csv                   # Данные о жанрах
│   ├── movies.csv                   # Данные о фильмах
│   ├── screenings.csv               # Данные о сеансах
│   └── theaters.csv                 # Данные о кинотеатрах
│
├── my.db                            # База данных DuckDB
├── main.py                          # Основной скрипт для создания дашборда
├── README.md                        # Описание проекта
├── requirements.txt                 # Список зависимостей
└── TASK.md                          # Техническое задание

Используемые инструменты

Для реализации проекта были использованы следующие технологии:

  • DuckDB: Для хранения данных в базе данных.
  • Pandas: Для обработки и анализа данных.
  • Plotly: Для визуализации данных в виде интерактивных графиков.
  • Streamlit: Для создания интерактивного дашборда.

Установка и запуск

  1. Создание виртуального окружения:

    Для создания виртуального окружения выполните следующую команду в терминале:

    python -m venv .venv
  2. Активация виртуального окружения:

    • Для Windows:
      .venv\Scripts\activate
    • Для Linux/Mac:
      source .venv/bin/activate
  3. Установка зависимостей:

    Установите все необходимые библиотеки, указанные в файле requirements.txt:

    pip install -r requirements.txt
  4. Запуск дашборда:

    Для запуска дашборда используйте команду:

    streamlit run main.py

    После этого откроется браузер с дашбордом по адресу http://localhost:8501.

Структура SQL запросов

  • create_tables.sql: Скрипт для создания таблиц в базе данных.
  • create_views.sql: Скрипт для создания представлений в базе данных для удобства анализа.
  • Запросы в основном выполняются через db.py для получения данных из базы и их отображения на графиках.

Ссылки


Примечания

  • Все функции сопровождаются комментариями и doc-string для объяснения логики работы.
  • Для выполнения анализа и создания графиков использованы методы из библиотеки Plotly и Streamlit, которые обеспечивают интерактивность дашборда.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published