team-work-ai-ecxqua
Student 1: ecxqua
Student 2: BendySonic
Student 3: discocat
Моя роль в качестве Student 2 выполнялась у BendySonic
🎵 Анализ музыкальных чартов
Проект представляет собой автономный Python-модуль для анализа динамики популярности музыкальных треков и жанров на основе синтетических данных чартов. Не требует веб-фреймворков — только pandas и стандартная библиотека.
🧠 Как выполнялась работа
Проект был реализован с помощью вайб-кодинга на основе чёткой технической спецификации.
Генерация и отладка кода проводились с использованием Qwen с фокусом на:
- Корректность логики агрегации данных
- Производительность (< 2 сек на 50k строк)
- Устойчивость к ошибкам (некорректные даты, пропуски)
- Чёткое соответствие формату вывода (JSON)
Работа проходила итеративно: от генерации данных → исправления ошибок типов → внедрения искусственных трендов → финальной интеграции.
📁 Структура репозитория
music-charts-analysis/
│
├── spec/ # 📄 Исходная техническая спецификация
│ └── codex.md # Полное ТЗ: функции, форматы, ограничения
│
├── dev/ # 💻 Основной код проекта
│ ├── analyze_charts.py # Модуль анализа и генерации: загрузка, агрегация, JSON-вывод
│
├── demo/ # 📊 Результаты выполнения (примеры)
│ ├── charts_data.csv # Сгенерированный датасет (50k строк)
│ ├── top_artists.json # Топ артистов по жанру и периоду
│ ├── popular_genres.json # Тренды жанров: "up", "down", "stable"
│ └── track_statistics_<...>.json # Статистика по конкретному треку
│
└── README.md # Этот файл
🚀 Как запустить
-
Создайте виртуальное окружение (опционально):
uv venv
-
Установите зависимости:
uv pip install -r requirements.txt
-
Запустите генерацию и анализ:
python dev/solution.py → Сгенерирует три JSON-файла в корне (или переместите их в demo/ вручную)
-
Просмотрите результаты:
- top_artists.json — лидеры по прослушиваниям
- popular_genres.json — например: {"Hip-Hop": "up", "Pop": "down", "Jazz": "stable"}
- track_statistics_*.json — полная статистика по случайному треку
📌 Особенности реализации
✅ Модуль анализа и генерации (dev/solution.py)
- Создаёт реалистичные чарты в стиле Spotify/Last.fm
- Внедряет управляемые тренды: рост для Hip-Hop, падение для других жанров
- Корректно форматирует даты (YYYY-MM-DD)
- Гарантирует совместимость с pandas без ошибок типов
— безопасная загрузка с очисткой NaNload_music_df()— фильтрация по жанру и периодуget_top_artists()— определяет тренд на основе сравнения первой/второй половины периодаget_genre_evolution()— агрегирует данные по треку: прослушивания, позиция, недели в чартеget_track_statistics()- Вывод в строго заданном JSON-формате
⚡️ Производительность
- Обработка 50 000 строк занимает < 1.5 сек на среднем ноутбуке
- Используются только векторизованные операции pandas — без циклов по строкам
📝 Пример вывода (popular_genres.json)
{
"Hip-Hop": "up",
"Pop": "down",
"Rock": "down",
"Electronic": "down",
"Country": "down",
"Jazz": "stable",
"Classical": "stable"
}
📎 Лицензия
Проект создан в образовательных целях. Свободно используйте, модифицируйте и распространяйте.