Урок за Python Seaborn: Какво е Seaborn и как да го използвам?



Урок за Python Seaborn заедно с разликата между seaborn и matplotlib. Също така научете за различните функции и персонализации, налични в seaborn.

Python е склад на множество изключително мощни библиотеки и рамки. Сред тях е и Seaborn, което е доминиращо визуализация на данни библиотека, като предоставя още една причина за програмистите да завършат . В този урок на Python Seaborn ще наклоните всички умения за визуализация на данни, използвайки Seaborn.

Преди да продължим, нека да разгледаме всички теми на дискусията в тази статия:





И така, нека започнем първо, като разсъдим за важността на Python Seaborn.

Защо да използвам Python Seaborn?

Както бе споменато по-рано, библиотеката на Python Seaborn се използва за улесняване на предизвикателната задача за визуализация на данни и се основава на . Seaborn позволява създаването на статистически графики чрез следните функционалности:



  • API, който се основава на набори от данни, позволяващи сравнение между множество променливи

  • Поддържа мрежи с много участъци, които от своя страна улесняват изграждането на сложни визуализации

  • Налични са едномерни и двумерни визуализации за сравнение между подмножества от данни



  • Наличие на различни цветови палитри за разкриване на различни видове шарки

  • Оценки и парцели автоматично

Така че, ако се чудите защо да използвате Seaborn, когато вече имате Matplotlib, ето отговорът на него.

Python Seaborn срещу Matplotlib:

„Ако Matplotlib„ се опитва да направи лесните неща лесни, а трудните неща възможни “, Seaborn се опитва да направи лесно дефинирания набор от трудни неща също лесен“ - Майкъл Уаском (Създател на Seaborn).
Всъщност Matplotlib е добър, но Seaborn е по-добър. По същество има два недостатъка на Matplotlib, които Seaborn отстранява:

  1. Matplotlib може да бъде персонализиран, но е трудно да се разбере какви настройки са необходими, за да направят графиките по-привлекателни. От друга страна, Seaborn се предлага с множество персонализирани теми и интерфейси на високо ниво за решаване на този проблем.

  2. При работа с Панди , Matplotlib не работи добре, когато става въпрос за работа с DataFrames, докато функциите на Seaborn всъщност работят върху DataFrames.

Как да инсталирам Seaborn?

За да инсталирате библиотеката на Python Seaborn, можете да използвате следните команди въз основа на използваната от вас платформа:

pip инсталирайте seaborn

или

conda инсталирайте seaborn

След като това е инсталирано, просто се уверете, че сте инсталирали пакетите и библиотеките, от които зависи seaborn.

Инсталиране на зависимости на Python Seaborn:

Задължителните зависимости за морски родени са:

Има и една препоръчителна зависимост, която е:

  • държавни модели

За да инсталирате тези библиотеки, можете да използвате същите команди, както е показано преди за Seaborn със съответните им имена. След като бъдат инсталирани, те могат лесно да се импортират. Seaborn ви позволява да заредите всеки набор от данни използвайки load_dataset () функция. Можете също да видите всички налични набори от данни, като използвате функцията get_dataset_names (), както следва:

ПРИМЕР:

импортиране на seaborn като sns sns.get_dataset_names ()

Това ще върне списък с всички налични набори от данни.
Сега, след като сте настроили вашата среда за работа с морски родени, нека продължим по-нататък, за да видим как да използваме функциите за начертаване в .

Функции за картографиране на Seaborn

Визуализиране на статистическите връзки:

Процесът на разбиране на връзките между променливи на набор от данни и как тези връзки от своя страна зависят от други променливи е известен като статистически анализ. Нека сега разгледаме по-задълбочено функциите, необходими за това:

препрограмиране ():

Това е функция на ниво фигура, която използва две други оси функции за визуализиране на статистически връзки, които са:

  • scatterplot ()
  • линеен парцел ()

Тези функции могат да бъдат зададени с помощта на параметъра ‘kind’ на relplot (). В случай, че е даден този параметър, той приема този по подразбиране, който е scatterplot (). Преди да започнете да пишете кода си, уверете се, че сте импортирали необходимите библиотеки, както следва:

импортиране на numpy като np импортиране на панди като pd импортиране matplotlib.pyplot като plt внос seaborn като sns sns.set (style = 'darkgrid')

Моля, обърнете внимание, че атрибутът style също може да се персонализира и може да приеме всякаква стойност като darkgrid, тикове и т.н., което ще обсъдя по-късно в раздела за естетика на сюжета. Нека сега разгледаме един малък пример:

ПРИМЕР:

f = sns.load_dataset ('полети') sns.relplot (x = 'пътници', y = 'месец', данни = f)

ИЗХОД:

Полети1-Урок на Python Seaborn-Edureka

Както можете да видите, точките са нанесени в 2-измерения. Можете обаче да добавите друго измерение, като използвате семантиката ‘hue’. Нека да разгледаме пример за същото:

ПРИМЕР:

f = sns.load_dataset ('полети') sns.relplot (x = 'пътници', y = 'месец', hue = 'година', данни = f)

Ще видите следния изход:

ИЗХОД:

Има обаче много повече персонализации, които можете да изпробвате, като цветове, стилове, размер и др. Нека само да покажа как можете да промените цвета в следния пример:

ПРИМЕР:

sns.set (стил = 'darkgrid') f = sns.load_dataset ('полети') sns.relplot (x = 'пътници', y = 'месец', hue = 'година', palette = 'ch: r = - .5, l = .75 ', данни = f)

ИЗХОД:

lineplot ():

Тази функция ще ви позволи да изчертаете непрекъсната линия за вашите данни. Можете да използвате тази функция, като промените параметъра ‘kind’, както следва:

ПРИМЕР:

a = pd.DataFrame ({„Ден“: [1,2,3,4,5,6,7], „Хранителни стоки“: [30,80,45,23,51,46,76], „Дрехи“ : [13,40,34,23,54,67,98], „Прибори“: [12,32,27,56,87,54,34]}, индекс = [1,2,3,4,5 , 6,7]) g = sns.relplot (x = 'Ден', y = 'Дрехи', вид = 'линия', данни = a) g.fig.autofmt_xdate ()

ИЗХОД:

По подразбиране за lineplot е y като функция на x. Въпреки това, той може да бъде променен, ако желаете да го направите. Има много повече опции, които можете да изпробвате допълнително.

Сега нека да разгледаме как да начертаем категорични данни.

Графиране с категорични данни:

Този подход се появява, когато нашата основна променлива е допълнително разделена на отделни групи (категорични). Това може да се постигне с помощта на функцията catplot ().

catplot ():

Това е функция на ниво фигура като relplot (). Може да се характеризира с три семейства функции на нивата на оси, а именно:

  1. Scatterplots - Те включват stripplot (), swarmplot ()

  2. Разпределителни парцели - които са boxplot (), violinplot (), boxenplot ()

  3. Приблизителни парцели - а именно pointplot (), barplot (), countplot ()

Нека сега вземем няколко примера, за да демонстрираме това:

ПРИМЕР:

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’. Следователно той е върнал графиката като разпръснат график по подразбиране. Можете да зададете която и да е от функциите за ниво на осите, за да промените графиката според нуждите. Нека вземем пример и за това:

ПРИМЕР:

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', вид = „цигулка“, данни = а)

ИЗХОД:

Горният изход показва графиката за цигулка за набора от съвети. Сега нека се опитаме да намерим как да визуализираме разпространението на набор от данни.

Визуализиране на разпространението на набор от данни:

Това основно се занимава с разбиране на набори от данни с контекст на едномерност или двумерност. Преди да започнете с това, просто импортирайте следното:

импортиране на numpy като np импортиране на панди като pd импорт seaborn като sns импортиране matplotlib.pyplot като plt от scipy импортиране статистика sns.set (color_codes = True)

След като това бъде направено, можете да продължите да начертавате едномерни и двувариантни разпределения.

Начертаване на Univariate дистрибуции:

За да ги начертаете, можете да използвате функцията distplot (), както следва:

ПРИМЕР:

a = np.random.normal (loc = 5, размер = 100, мащаб = 2) sns.distplot (a)

ИЗХОД:

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

Начертаване на двувариантни разпределения:

Това се появява, когато имате две случайни независими променливи, водещи до някакво вероятно събитие. Най-добрата функция за нанасяне на графики от този тип графики е jointplot (). Нека сега начертаем двумерна графика, използвайки jointplot ().

ПРИМЕР:

x = pd.DataFrame ({„Ден“: [1,2,3,4,5,6,7], „Хранителни стоки“: [30,80,45,23,51,46,76], „Дрехи“ : [13,40,34,23,54,67,98], „Прибори“: [12,32,27,56,87,54,34]}, индекс = [1,2,3,4,5 , 6,7]) y = pd.DataFrame ({„Ден“: [8,9,10,11,12,13,14], „Хранителни стоки“: [30,80,45,23,51,46, 76], „Дрехи“: [13,40,34,23,54,67,98], „Прибори“: [12,32,27,56,87,54,34]}, индекс = [8,9 , 10,11,12,13,14]) означава, cov = [0, 1], [(1, .5), (.5, 1)] данни = np.random.multivariate_normal (средно, cov, 200 ) с sns.axes_style ('бял'): sns.jointplot (x = x, y = y, kind = 'kde', color = 'b')

ИЗХОД:

След като разбрахте различните функции в 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')

ИЗХОД:

Горният изход ясно показва сравнението между съветите, дадени по време на обяд и вечеря. Можете също да начертаете с помощта на функцията PairGrid, когато имате двойка променливи за сравнение. Помислете за следния пример.

ПРИМЕР:

sns.set (стил = 'тикове') a = sns.load_dataset ('полети') b = sns.PairGrid (a) b.map (plt.scatter)

ИЗХОД:

Както можете да видите, горните резултати ясно сравняват годината и броя на пътниците по различни начини.

Seaborn също така позволява персонализиране по отношение на естетиката, което се обсъжда допълнително.

Сюжетна естетика:

Този сегмент от урока по Python Seaborn се занимава с това да направим нашите парцели по-привлекателни и възхитителни.

Python Seaborn Фигура-Естетика:

Първата функция, която ще обсъждам, е зададена (). Използвал съм параметъра ‘style’ на тази функция и преди. Този параметър основно се занимава с морски теми. Понастоящем има пет налични, а именно тъмна мрежа, кърлежи, бяла мрежа, бяла и тъмна.

Помислете за следния пример, демонстриращ бялата тема.

ПРИМЕР:

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', данни = а)

ИЗХОД:

какъв е класът на скенера в Java

В горния изход можете да забележите, че темата е променена на бяла. Можете да ги изследвате допълнително, като използвате и останалите теми. Ако забележите в предишния изход, навсякъде около графиката има оси. Това обаче може да се персонализира и с помощта на функцията 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', данни = а) sns.despine (отместване = 10, отрязване = вярно)

ИЗХОД:



Обърнете внимание на разликата между предишните два изхода. Има обаче много повече опции, които можете да проучите сами.

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

Цветът е основно характеристиката, която се доближава до човешките очи извън всяка друга характеристика. Seaborn ви позволява да играете с цветове, като използвате различни функции като color_palette (), hls_palette (), husl_palette () и др. Погледнете цветовете, които в момента присъстват в seaborn.

ПРИМЕР:

внос numpy като np внос seaborn като sns внос matplotlib.pyplot като plt sns.set () presentcolors = sns.color_palette () sns.palplot (presentcolors)

ИЗХОД:

Горното изображение показва цветовете, които присъстват в морското рождение. Направих го с помощта на функцията palplot (). За по-дълбоки вариации можете да използвате hls_palette (), husl_palette () и т.н.

Това ни води до края на урока по Python Seaborn. Надявам се, че сте разбрали всичко ясно. Уверете се, че практикувате възможно най-много .

Имате въпрос към нас? Моля, споменете го в раздела за коментари в този блог „Урок на Python Seaborn“ и ние ще се свържем с вас възможно най-скоро.

За да получите задълбочени познания за Python заедно с различните му приложения, можете да се регистрирате за живо с 24/7 поддръжка и доживотен достъп.