Учебное пособие по Python Seaborn | Визуализация данных с помощью Seaborn

Python — это кладезь множества чрезвычайно мощных библиотек и фреймворков. Среди них есть Сиборн, который является доминирующим визуализация данных библиотека. В этом учебном пособии по Python Seaborn вы освоите все навыки визуализации данных с помощью Seaborn.

Итак, давайте начнем с рассуждения о важности Python Seaborn.

Зачем использовать Python Seaborn?

Как упоминалось ранее, библиотека Python Seaborn используется для облегчения сложной задачи визуализации данных и основана на Matplotlib. Seaborn позволяет создавать статистические графики с помощью следующих функций:

API, основанный на наборах данных, позволяющий сравнивать несколько переменных

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

Доступны одномерные и двумерные визуализации для сравнения подмножеств данных.

Наличие различных цветовых палитр для выявления различных видов узоров

Автоматически оценивает и строит линейную регрессию

Итак, если вам интересно, зачем использовать Seaborn, если у вас уже есть Matplotlib, вот ответ на него.

Python Seaborn против Matplotlib:

«Если Matplotlib «пытается сделать простые вещи простыми, а сложные возможными», то seaborn также пытается сделать четко определенный набор сложных вещей простыми», — Майкл Васком (создатель Seaborn).

На самом деле, Matplotlib хорош, но Seaborn лучше. В основном есть два недостатка Matplotlib, которые исправляет Seaborn:

Matplotlib можно персонализировать, но сложно понять, какие настройки нужны, чтобы сделать графики более привлекательными. С другой стороны, Seaborn поставляется с множеством настраиваемых тем и интерфейсов высокого уровня для решения этой проблемы.

При работе с Pandas Matplotlib не очень хорошо работает с DataFrames, в то время как функции Seaborn действительно работают с DataFrames.

Как установить Сиборн?

Чтобы установить библиотеку Python Seaborn, вы можете использовать следующие команды в зависимости от используемой вами платформы:

пип установить сиборн

или же

конда установить сиборн

После установки просто убедитесь, что установлены пакеты и библиотеки, от которых зависит Seaborn.

Установка зависимостей Python Seaborn:

Обязательными зависимостями для seaborn являются:

  • NumPy
  • SciPy
  • Матплотлиб
  • Панды

Существует также одна рекомендуемая зависимость:

Чтобы установить эти библиотеки, вы можете использовать те же команды, что и ранее для Seaborn, с соответствующими именами. После установки их можно легко импортировать. Seaborn позволяет загружать любой набор данных из GIT с помощью load_dataset() функция. Вы также можете просмотреть все доступные наборы данных, используя функцию get_dataset_names() следующим образом:

ПРИМЕР:

import seaborn as sns 
sns.get_dataset_names()

Это вернет список всех доступных наборов данных.
Теперь, когда вы настроили свою среду для работы с seaborn, давайте двигаться дальше, чтобы увидеть, как использовать его функции построения графиков в Python).

Функции построения графиков Seaborn

Визуализация статистических отношений:

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

перестроить():

Это функция уровня фигуры, которая использует две другие функции осей для визуализации статистических отношений, а именно:

Эти функции можно указать с помощью параметра «вид» функции relplot(). Если этот параметр задан, он принимает значение по умолчанию, то есть диаграмму рассеяния(). Прежде чем приступить к написанию кода, обязательно импортируйте необходимые библиотеки следующим образом:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="darkgrid")

Обратите внимание, что атрибут стиля также настраиваемый и может принимать любое значение, такое как darkgrid, ticks и т. д., которые я буду обсуждать позже в разделе, посвященном эстетике сюжета. Давайте теперь посмотрим на небольшой пример:

ПРИМЕР:

f = sns.load_dataset("flights")
sns.relplot(x="passengers", y="month", data=f);

ВЫХОД:

Flights1-Python-Seaborn-Tutorial-Buy.png

Как видите, точки нанесены в двух измерениях. Однако вы можете добавить еще одно измерение, используя семантику «оттенок». Давайте посмотрим на пример того же:

ПРИМЕР:

f = sns.load_dataset("flights")
sns.relplot(x="passengers", y="month", hue="year", data=f);

Вы увидите следующий вывод:

ВЫХОД:

Flightscolor3-Python-Seaborn-Tutorial-Running-1.png

Тем не менее, есть много других настроек, которые вы можете попробовать, таких как цвета, стили, размер и т. д. Позвольте мне просто показать, как вы можете изменить цвет в следующем примере:

ПРИМЕР:

sns.set(style="darkgrid")
f = sns.load_dataset("flights")
sns.relplot(x="passengers", y="month", hue="year",palette="ch:r=-.5,l=.75", data=f);

ВЫХОД:

Flightscolor4-Python-Seaborn-Tutorial-Buy.png

линейный график():

Эта функция позволит вам нарисовать непрерывную линию для ваших данных. Вы можете использовать эту функцию, изменив параметр «вид» следующим образом:

ПРИМЕР:

a=pd.DataFrame({'Day':[1,2,3,4,5,6,7],'Grocery':[30,80,45,23,51,46,76],'Clothes':[13,40,34,23,54,67,98],'Utensils':[12,32,27,56,87,54,34]},index=[1,2,3,4,5,6,7])
g = sns.relplot(x="Day", y="Clothes", kind="line", data=a)
g.fig.autofmt_xdate()

ВЫХОД:

lineplot - Python - Seaborn - Учебник - Купить .png

По умолчанию для линейного графика y как функция x. Однако при желании его можно изменить. Есть еще много вариантов, которые вы можете попробовать дальше.

Теперь давайте посмотрим, как отображать категориальные данные.

График с категориальными данными:

Этот подход проявляется, когда наша основная переменная далее делится на дискретные группы (категориальные). Этого можно добиться с помощью функции catplot().

кошачья диаграмма():

Это функция уровня фигуры, такая как relplot(). Его можно охарактеризовать тремя семействами функций уровня осей, а именно:

Диаграммы рассеяния — к ним относятся stripplot(), swarmplot().

Графики распределения – boxplot(), violinplot(), boxenplot()

Оценочные графики, а именно точечная диаграмма (), гистограмма (), счетная диаграмма ()

Давайте теперь возьмем несколько примеров, чтобы продемонстрировать это:

ПРИМЕР:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="ticks", color_codes=True)
a = sns.load_dataset("tips")
sns.catplot(x="day", y="total_bill", data=a);

ВЫХОД:

кошачий сюжет -- python-seaborn-tutorial-buy.png

Как видите, в приведенном выше примере я не установил параметр «вид». Поэтому он вернул график в качестве диаграммы рассеяния по умолчанию. Вы можете указать любую функцию уровня осей, чтобы изменить график по мере необходимости. Возьмем и этот пример:

ПРИМЕР:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="ticks", color_codes=True)
a = sns.load_dataset("tips")
sns.catplot(x="day", y="total_bill", kind="violin", data=a);

ВЫХОД:

violin5-Python-Seaborn-Tutorial-Running-1.png

В приведенном выше выводе показан график скрипки для набора данных подсказок. Теперь давайте попробуем найти, как визуализировать распределение набора данных.

Визуализация распределения набора данных:

В основном это связано с пониманием наборов данных в контексте их одномерности или двумерности. Прежде чем начать с этого, просто импортируйте следующее:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats
sns.set(color_codes=True)

Как только это будет сделано, вы можете продолжить построение одномерных и двумерных распределений.

Построение одномерных распределений:

Чтобы построить их, вы можете использовать функцию distplot() следующим образом:

ПРИМЕР:

a = np.random.normal(loc=5,size=100,scale=2)
sns.distplot(a);

ВЫХОД:

univariate6-Python-Seaborn-Tutorial-Edureka.png

Как вы можете видеть в приведенном выше примере, мы построили график для переменной a, значения которой генерируются функцией normal() с использованием distplot.

Построение двумерных распределений:

Это проявляется, когда у вас есть две случайные независимые переменные, приводящие к некоторому вероятному событию. Лучшей функцией для построения графиков такого типа является JointPlot(). Давайте теперь построим двумерный график, используя JointPlot().

ПРИМЕР:

x=pd.DataFrame({'Day':[1,2,3,4,5,6,7],'Grocery':[30,80,45,23,51,46,76],'Clothes':[13,40,34,23,54,67,98],'Utensils':[12,32,27,56,87,54,34]},index=[1,2,3,4,5,6,7])
y=pd.DataFrame({'Day':[8,9,10,11,12,13,14],'Grocery':[30,80,45,23,51,46,76],'Clothes':[13,40,34,23,54,67,98],'Utensils':[12,32,27,56,87,54,34]},index=[8,9,10,11,12,13,14])
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 200)
with sns.axes_style("white"):
sns.jointplot(x=x, y=y, kind="kde", color="b");

ВЫХОД:

BivariateFacePlot7-Python-Seaborn-Tutorial-Edureka.png

Теперь, когда вы поняли различные функции Python Seaborn, давайте перейдем к построению структурированных сеток из нескольких графиков.

Многосюжетные сетки:

Python Seaborn позволяет отображать несколько сеток рядом друг с другом. В основном это графики или графики, которые построены с использованием одного и того же масштаба и осей, чтобы облегчить сравнение между ними. Это, в свою очередь, помогает программисту быстро различать графики и получать большие объемы информации.

Рассмотрим следующий пример функции facetgrid() для построения этих графиков.

ПРИМЕР:

sns.set(style="darkgrid")
a = sns.load_dataset("iris")
b = sns.FacetGrid(a, col="species")
b.map(plt.hist, "sepal_length");

ВЫХОД:

bivariatepairgrid9-Python-Seaborn-Tutorial-Edureka-1.png

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

ПРИМЕР:

sns.set(style="ticks")
a = sns.load_dataset("flights")
b = sns.PairGrid(a)
b.map(plt.scatter);

ВЫХОД:

bivariatepairgrid9-Python-Seaborn-Tutorial-Edureka-1.png

Как видите, приведенный выше вывод четко сравнивает год и количество пассажиров по-разному.

Seaborn также позволяет настраивать внешний вид, который обсуждается далее.

Сюжет-Эстетика:

Этот раздел учебника Python Seaborn посвящен тому, как сделать наши графики более привлекательными и восхитительными.

Эстетика фигуры Python Seaborn:

Первая функция, которую я буду обсуждать, это set(). Раньше я использовал параметр «стиль» этой функции. Этот параметр в основном касается морской тематики. В настоящее время доступно пять из них, а именно darkgrid, ticks, whitegrid, white и dark.

Рассмотрим следующий пример, демонстрирующий белую тему.

ПРИМЕР:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="white", color_codes=True)
a = sns.load_dataset("tips")
sns.boxplot(x="day", y="total_bill", data=a);

ВЫХОД:

style10-Python-Seaborn-Tutorial-Edureka.png

В приведенном выше выводе вы можете заметить, что тема изменена на белую. Вы можете исследовать их дальше, используя другие темы. Если вы заметили в предыдущем выводе, вокруг графика присутствуют оси. Однако это также можно настроить с помощью функции despine(). Посмотрите на пример ниже.

ПРИМЕР:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="white", color_codes=True)
a = sns.load_dataset("tips")
sns.boxplot(x="day", y="total_bill", data=a);
sns.despine(offset=10, trim=True);

ВЫХОД:

despine10-Python-Seaborn-Tutorial-Make-1.png

Обратите внимание на разницу между двумя предыдущими выходными данными. Тем не менее, есть еще много вариантов, которые вы можете изучить сами.

Цветовые палитры Python Seaborn:

Цвет — это, по сути, характеристика, которая приближается к человеческому глазу больше, чем любая другая характеристика. Seaborn позволяет вам играть с цветами, используя различные функции, такие как color_palette(), hls_palette(), husl_palette() и т. д. Взгляните на цвета, которые в настоящее время присутствуют в Seaborn.

ПРИМЕР:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set()

presentcolors = sns.color_palette()
sns.palplot(presentcolors)

ВЫХОД:

Color11-Python-Seaborn-Tutorial-Buy.png

На изображении выше показаны цвета, присутствующие в Seaborn. Я сделал это с помощью функции palplot(). Для более глубоких вариаций вы можете использовать hls_palette(), husl_palette() и т. д.

Это подводит нас к концу учебника по Python Seaborn. Надеюсь, вы все ясно поняли. Убедитесь, что вы тренируетесь как можно больше.

Есть к нам вопрос? Пожалуйста, укажите это в разделе комментариев этого блога «Python Seaborn Tutorial», и мы свяжемся с вами как можно скорее.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *