1 added
1 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>При анализе информации и данных часто нужно строить графики, диаграммы и гистограммы. Визуализация помогает оценивать масштабы значений, сравнивать показатели, понимать тренды и многое другое.</p>
1
<p>При анализе информации и данных часто нужно строить графики, диаграммы и гистограммы. Визуализация помогает оценивать масштабы значений, сравнивать показатели, понимать тренды и многое другое.</p>
2
<p>В библиотеке Pandas есть встроенный функционал для большинства типов графиков. Эти методы построены на базе библиотеки Matplotlib - одного из популярных среди аналитиков решений для визуализации на Python. В этом уроке мы познакомимся с часто используемыми в анализе данных инструментами визуализации библиотеки Pandas и научимся применять их на практике.</p>
2
<p>В библиотеке Pandas есть встроенный функционал для большинства типов графиков. Эти методы построены на базе библиотеки Matplotlib - одного из популярных среди аналитиков решений для визуализации на Python. В этом уроке мы познакомимся с часто используемыми в анализе данных инструментами визуализации библиотеки Pandas и научимся применять их на практике.</p>
3
<p>Работать будем на датасете кликов с сайтов четырех магазинов одной сети:</p>
3
<p>Работать будем на датасете кликов с сайтов четырех магазинов одной сети:</p>
4
<p>В данных есть ошибки: пропущенные, отрицательные и сильно завышенные значения кликов.</p>
4
<p>В данных есть ошибки: пропущенные, отрицательные и сильно завышенные значения кликов.</p>
5
<h2>Влияние ошибок в данных на результаты анализа</h2>
5
<h2>Влияние ошибок в данных на результаты анализа</h2>
6
<p>Чтобы построить линейный график, используем метод plot():</p>
6
<p>Чтобы построить линейный график, используем метод plot():</p>
7
<p>На графике видны разрывы, завышенные и отрицательные значения - это говорит о наличии ошибок.</p>
7
<p>На графике видны разрывы, завышенные и отрицательные значения - это говорит о наличии ошибок.</p>
8
<p>Важно отметить техническую деталь при отрисовке графиков. Если использовать Jupyter Notebook, то для вывода графика достаточно выполнить код выше. Если писать код в виде обычного Python скрипта и выполнять его в терминале, то код необходимо дополнить методом отрисовки plt.show() из библиотеки matplotlib следующим образом:</p>
8
<p>Важно отметить техническую деталь при отрисовке графиков. Если использовать Jupyter Notebook, то для вывода графика достаточно выполнить код выше. Если писать код в виде обычного Python скрипта и выполнять его в терминале, то код необходимо дополнить методом отрисовки plt.show() из библиотеки matplotlib следующим образом:</p>
9
<p>Далее по тексту будем придерживаться способа для Jupyter Notebook.</p>
9
<p>Далее по тексту будем придерживаться способа для Jupyter Notebook.</p>
10
<p>Чтобы построить график конкретного магазина, необходимо указать его метку в качестве индекса и применить тот же метод plot():</p>
10
<p>Чтобы построить график конкретного магазина, необходимо указать его метку в качестве индекса и применить тот же метод plot():</p>
11
<p>Разрывы стали еще более наглядными. Есть пропуски для данного магазина.</p>
11
<p>Разрывы стали еще более наглядными. Есть пропуски для данного магазина.</p>
12
<p>Начнем подготовку данных. Заполним пропуски средним значением для кликов по всем магазинам:</p>
12
<p>Начнем подготовку данных. Заполним пропуски средним значением для кликов по всем магазинам:</p>
13
<p>Избавимся от отрицательных и слишком больших значений следующим методом. Найдем среднее и стандартное отклонение от него. Порядка 70% всех значений будет укладываться в интервал, указанный ниже:</p>
13
<p>Избавимся от отрицательных и слишком больших значений следующим методом. Найдем среднее и стандартное отклонение от него. Порядка 70% всех значений будет укладываться в интервал, указанный ниже:</p>
14
<p>Зададим маску, с помощью верхней границы данного интервала и значения в десять кликов в качестве минимального ограничения:</p>
14
<p>Зададим маску, с помощью верхней границы данного интервала и значения в десять кликов в качестве минимального ограничения:</p>
15
<p>Применим данную маску для фильтрации:</p>
15
<p>Применим данную маску для фильтрации:</p>
16
<p>Посмотрим, как изменился график кликов первого магазина:</p>
16
<p>Посмотрим, как изменился график кликов первого магазина:</p>
17
<p>Временная шкала не поменялась, при этом визуально график сильно разнится с предыдущим. На таком графике уже прослеживаются особенности и закономерности в изменении значений со временем.</p>
17
<p>Временная шкала не поменялась, при этом визуально график сильно разнится с предыдущим. На таком графике уже прослеживаются особенности и закономерности в изменении значений со временем.</p>
18
<p>Также посмотрим на всю сеть:</p>
18
<p>Также посмотрим на всю сеть:</p>
19
<p>Эти графики показывают, как наличие ошибок в данных влияет на качество их анализа. После обработки на всех магазинах стала прослеживаться сезонность - волны кликов по выходным дням.</p>
19
<p>Эти графики показывают, как наличие ошибок в данных влияет на качество их анализа. После обработки на всех магазинах стала прослеживаться сезонность - волны кликов по выходным дням.</p>
20
<p>Кроме визуального анализа и построения гипотез о закономерностях в данных используют продвинутые алгоритмы машинного обучения. Указанным алгоритмам непросто выучить закономерности в данных при наличии в них ошибок. Аналитику необходимо перед анализом всегда готовить данные.</p>
20
<p>Кроме визуального анализа и построения гипотез о закономерностях в данных используют продвинутые алгоритмы машинного обучения. Указанным алгоритмам непросто выучить закономерности в данных при наличии в них ошибок. Аналитику необходимо перед анализом всегда готовить данные.</p>
21
<h2>Сравнительный анализ показателей</h2>
21
<h2>Сравнительный анализ показателей</h2>
22
<p>Типы графиков могут быть разными. Задается тип с использованием параметра kind. На примере ниже показаны столбчатые диаграммы для первых семь дней. С их помощью можно производить анализ динамики изменений кликов по всей сети или же сравнивать значения в разрезе дней:</p>
22
<p>Типы графиков могут быть разными. Задается тип с использованием параметра kind. На примере ниже показаны столбчатые диаграммы для первых семь дней. С их помощью можно производить анализ динамики изменений кликов по всей сети или же сравнивать значения в разрезе дней:</p>
23
<p>По данной столбчатой диаграмме можно сказать, что кликов на сайте магазина SHOP2 в начале недели было больше, чем во всех остальных по сети - первые три столбца слева. Также возрастает тренд в кликах ближе к выходным дням - размер столбцов увеличивается слева направо.</p>
23
<p>По данной столбчатой диаграмме можно сказать, что кликов на сайте магазина SHOP2 в начале недели было больше, чем во всех остальных по сети - первые три столбца слева. Также возрастает тренд в кликах ближе к выходным дням - размер столбцов увеличивается слева направо.</p>
24
<h2>Статистический анализ</h2>
24
<h2>Статистический анализ</h2>
25
<p>Анализировать статистические показатели можно с помощью визуализации плотности распределения кликов. Чтобы получить ее, нужно построить гистограмму, которая также задается через параметр kind:</p>
25
<p>Анализировать статистические показатели можно с помощью визуализации плотности распределения кликов. Чтобы получить ее, нужно построить гистограмму, которая также задается через параметр kind:</p>
26
<p>Для первого магазина количество кликов смещено к значениям 300-350.</p>
26
<p>Для первого магазина количество кликов смещено к значениям 300-350.</p>
27
<p>Для второго магазина наиболее типичным являются случаи кликов в интервале 350-400 в день:</p>
27
<p>Для второго магазина наиболее типичным являются случаи кликов в интервале 350-400 в день:</p>
28
<h2>Интегральные показатели</h2>
28
<h2>Интегральные показатели</h2>
29
<p>Чтобы сравнить интегральные показатели, можно использовать горизонтальные столбчатые диаграммы. В примере ниже задействован параметр fontsize, который отвечает за размер шрифта:</p>
29
<p>Чтобы сравнить интегральные показатели, можно использовать горизонтальные столбчатые диаграммы. В примере ниже задействован параметр fontsize, который отвечает за размер шрифта:</p>
30
<p>Одним из часто встречаемых в презентациях типов диаграмм является представление интегральных данных в виде пирога - круговые диаграммы:</p>
30
<p>Одним из часто встречаемых в презентациях типов диаграмм является представление интегральных данных в виде пирога - круговые диаграммы:</p>
31
<p>Обе из диаграмм выше показывают, что в целом показатели кликов по магазинам практически совпадают.</p>
31
<p>Обе из диаграмм выше показывают, что в целом показатели кликов по магазинам практически совпадают.</p>
32
<h2>Поиск зависимостей в данных</h2>
32
<h2>Поиск зависимостей в данных</h2>
33
<p>Чтобы найти зависимости в данных, используются различные подходы. Одним из них - корреляционный анализ. Чтобы найти в данных линейные закономерности, используют корреляцию Пирсона. При этом такой характер зависимости величин можно увидеть и на точечном графике.</p>
33
<p>Чтобы найти зависимости в данных, используются различные подходы. Одним из них - корреляционный анализ. Чтобы найти в данных линейные закономерности, используют корреляцию Пирсона. При этом такой характер зависимости величин можно увидеть и на точечном графике.</p>
34
<p>Параметр scatter позволяет построить точки с координатами (x, y). В качестве значений координат возьмем подневные значения двух магазинов:</p>
34
<p>Параметр scatter позволяет построить точки с координатами (x, y). В качестве значений координат возьмем подневные значения двух магазинов:</p>
35
<p>На примере выше показано, как расположились точки для 1 и 2 магазина. При этом зависимость здесь не усматривается. Но если посмотреть на пару 1 и 3 магазина, то ситуация меняется:</p>
35
<p>На примере выше показано, как расположились точки для 1 и 2 магазина. При этом зависимость здесь не усматривается. Но если посмотреть на пару 1 и 3 магазина, то ситуация меняется:</p>
36
<p>Несмотря на отклонения, точки расположились вдоль прямой - прослеживается линейная зависимость.</p>
36
<p>Несмотря на отклонения, точки расположились вдоль прямой - прослеживается линейная зависимость.</p>
37
<h2>Выводы</h2>
37
<h2>Выводы</h2>
38
<p>В этом уроке мы рассмотрели различные типы графиков, которые доступны в Pandas для визуализации данных. С их помощью на практических примерах были продемонстрированы:</p>
38
<p>В этом уроке мы рассмотрели различные типы графиков, которые доступны в Pandas для визуализации данных. С их помощью на практических примерах были продемонстрированы:</p>
39
<ul><li>Эффекты ошибок данных на результаты анализа</li>
39
<ul><li>Эффекты ошибок данных на результаты анализа</li>
40
<li>Способы интегральной оценки показателей</li>
40
<li>Способы интегральной оценки показателей</li>
41
<li>Подходы к визуализации зависимостей в данных</li>
41
<li>Подходы к визуализации зависимостей в данных</li>
42
</ul><p>Визуализация данных упрощает:</p>
42
</ul><p>Визуализация данных упрощает:</p>
43
<ul><li>Поиск выбросов и пропущенных значений</li>
43
<ul><li>Поиск выбросов и пропущенных значений</li>
44
<li>Анализ статистических и интегральных характеристик</li>
44
<li>Анализ статистических и интегральных характеристик</li>
45
<li>Формулирование гипотез о закономерностях</li>
45
<li>Формулирование гипотез о закономерностях</li>
46
-
</ul><p>Для аналитика визуализация является необходимым инструментом. Выполнение указанных выше операций м��жет быть невозможным при работе с большими объемами данных.</p>
46
+
</ul><p>Для аналитика визуализация является необходимым инструментом. Выполнение указанных выше операций может быть невозможным при работе с большими объемами данных.</p>