
Какие данные были проанализированы
Поиск данных производился по Kaggle — сайту соревнований для специалистов по Data Science. Я обнаружила открытый датасет полиции Лос-Анджелеса (LAPD Crime Data from 2020 to Present), объёмом в сотни тысяч инцидентов, зафиксированных с 2020 года. Ссылка: https://www.kaggle.com/datasets/samithsachidanandan/crime-data-from-2020-to-present?resour
Меня заинтересовало, как меняется уровень преступности в мегаполисе. Эти данные — отражение социальной напряжённости, изменений в жизни города, реакции людей и властей.
Я хотела узнать следующее: — Кто чаще становится жертвой — мужчины или женщины? — Есть ли разница в возрасте жертв по полу? — Где (в каких районах) происходит больше всего преступлений? — Как изменялась динамика преступности во времени?
Эта тема показалась мне особенно значимой, поскольку анализируя изменения в уровне преступности, можно выявить закономерности и тенденции, которые могут помочь в прогнозировании и предотвращении преступлений.
Стиль
Вдохновением послужило кино в стиле нуар, графика криминальных сериалов (True Detective, Mindhunter) и эстетика полицейских досье и баз данных. Тёмная ночная тема с ярко-красными акцентами (визуальный стиль, напоминающий киберпанк-эстетику) показалась мне самым подходящим стилевым решением.
Цветовая палитра (HEX-коды): фон графиков (axes.facecolor) — #000000 (чёрный); фон фигуры (figure.facecolor) — #000000 (чёрный); цвет текста, осей и подписей (text.color, axes.labelcolor, xtick.color, ytick.color) — #FF0000 (ярко-красный); основной цвет графиков и акцентных элементов (линии графика, столбцы, заливка областей) — #FF0000(красный); цвета сегментов круговой диаграммы (pie chart) — #FF9999 и #FF4D4D (два оттенка красного для разных категорий); цветовая шкала тепловой карты (heatmap) — палитра «Reds» (градиент от почти белого #FFF5F0 до тёмно-красного #67000D).
Так, выбор цветовой палитры пал на красный (оттенки крови, тревоги, энергии) и черный. Черный в основном использовался как фон, красный же как акцентный цвет.
В качестве шрифта я решила оставить простой, минималистичный шрифт DejaVu Sans, чтобы графики смотрелись читабельно и аккуратно.
Этапы работы
Импорт библиотек и настройка стиля
На этом этапе подключаются основные библиотеки для анализа данных и визуализации: pandas, numpy, matplotlib, seaborn и другие. Также устанавливается стиль оформления графиков (например, тема Seaborn), чтобы все визуализации выглядели единообразно.
Преобразование возраста жертвы
На этом этапе значения возраста приводится к числовому типу и удаляются пропущенные значения.
Отбор и чистка ключевых столбцов
Здесь отбираются только нужные переменные, а из них удаляются строки с пропущенными значениями.
График 1 — Линейный: количество преступлений во времени
На этом этапе идет построение первого графика — линейного, в котором показано количество преступлений по времени. Преобразуется столбец даты в формат datetime, группируются данные по дате и строится линейный график.
График 2 — Тепловая карта: район и пол жертвы
Тут код для построения второго графика — тепловой карты с информацией о районе и поле жертвы. Группируются данные по району и полу жертвы и отображаются как тепловая карта (heatmap) с цветовой шкалой.
Violin plot: возраст жертв по полу
На этом этапе визуализируется распределение возраста жертв среди мужчин и женщин. Используется график-«скрипка» (violinplot), который одновременно показывает медиану, плотность и диапазон возрастов.
Настройка визуального стиля в киберпанк-эстетике
На этом этапе я решила визуально выделить свой проект, отказавшись от стандартных светлых тем и привычной стилистики графиков. Я выбрала тёмный фон (черный) и яркие красные акценты, вдохновившись эстетикой киберпанка, нуар-фильмов и криминальных сериалов вроде Mindhunter и True Detective.
Моей целью было сделать графики не только информативными, но и выразительными, атмосферными, визуально связанными с темой преступности. Для этого я использовала настройки matplotlib, задав глобальные параметры, которые автоматически применяются ко всем графикам в проекте.
Повторная загрузка и очистка данных в новом стиле
Тут заново загружаются и фильтруются данные, но уже под киберпанк-оформление. Добавлена фильтрация по возрасту (от 1 до 100 лет) и по полу (только M и F).
Обработка даты
Тут преобразуется колонка с датой преступления в формат datetime и удаляются пропуски.
Финальные графики с кибер-панк-стилизацией
График 1 — Crime Trend Over Time (в стиле)
График 2 — Круговая диаграмма по полу жертвы
График 3 — Bar chart по Vict Sex
График 4 — Heatmap по AREA и полам
График 5 — Violin plot с кастомной палитрой
Описание применения генеративной модели

В процессе работы я использовала нейросеть Leonardo.ai для создания обложки проекта, прописав туда следующий промт: Abstract cover art for a crime project. Dominated by shades of red and black. Inspired by the visual density and textual arrangement of the attached image [image.jpg], but transformed into a dynamic, chaotic abstract composition. Utilize fragmented, angular shapes suggestive of broken glass or shattered evidence. Subtle incorporation of blurred, illegible text evoking crime scene reports or classified documents. Emphasis on conveying tension, danger, and the fragmented nature of crime. No complete or recognizable objects, focus on feeling and atmosphere. Для генерации обложки я также использовала один из графиков — Crime Trend Over Time. Ссылка на Leonardo.ai: https://app.leonardo.ai
Итоговые графики
График показывает, как менялось количество преступлений в Лос-Анджелесе с 2020 года.
Женщины и мужчины почти в равных долях становятся жертвами преступлений. Мужчины чуть чаще — 53%.
Возраст жертв распределён похожим образом среди мужчин и женщин. Пик — 30–40 лет. У женщин чуть больше молодых жертв.
Тепловая карта показывает, в каких районах происходят преступления и кто там чаще жертва. Некоторые районы явно «опаснее» для женщин или мужчин.
График 5 — Violin plot: возраст по полу
Ссылка на гугл диск с файлом блокнота с кодом и файлом с датасетом: https://drive.google.com/drive/folders/1QzVDExOxI159-h18L7sicEK3XrNj_Epn?usp=drive_link