HTML Diff
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>