Tutorial sa Python Seaborn: Ano ang Seaborn at Paano Ito Magagamit?



Tutorial ng Python Seaborn kasama ang pagkakaiba sa pagitan ng seaborn at matplotlib. Alamin din ang tungkol sa iba't ibang mga pag-andar na mga pagpapasadya na magagamit sa dagat.

Ang Python ay isang kamalig ng maraming napakalakas na mga aklatan at balangkas. Kabilang sa mga ito, ay Seaborn, na kung saan ay isang nangingibabaw visualization ng data library, pagbibigay ng isa pang dahilan para makumpleto ang mga programmer . Sa Tutorial ng Python Seaborn na ito, makakasandal ka sa lahat ng mga knacks ng visualization ng data gamit ang Seaborn.

Bago magpatuloy, tingnan natin ang lahat ng mga paksa ng talakayan sa artikulong ito:





sawa baguhin ang numero sa binary

Kaya't magsimula muna tayo sa pamamagitan ng pagdadahilan sa kahalagahan ng Python Seaborn.

Bakit gumagamit ng Python Seaborn?

Tulad ng nabanggit kanina, ang library ng Python Seaborn ay ginagamit upang mapagaan ang hamon na gawain ng visualization ng data at batay ito sa . Pinapayagan ng Seaborn ang paglikha ng mga statistic na graphic sa pamamagitan ng mga sumusunod na pag-andar:



  • Isang API na batay sa mga dataset na nagpapahintulot sa paghahambing sa pagitan ng maramihang variable

  • Sinusuportahan ang mga multi-plot grid na magpapadali sa pagbuo ng mga kumplikadong visualization

  • Mag-univariate at bivariate ng mga visualization na magagamit upang ihambing sa pagitan ng mga subset ng data



  • Ang pagkakaroon ng iba't ibang mga paleta ng kulay upang ipakita ang iba't ibang mga uri ng mga pattern

  • Mga pagtatantya at plots awtomatiko

Kaya, kung nagtataka ka kung bakit gamitin ang Seaborn kung mayroon ka nang Matplotlib, narito ang sagot dito.

Python Seaborn vs Matplotlib:

'Kung ang Matplotlib' ay sumusubok na gawing madali ang mga madaling bagay at mahirap na bagay ', sinusubukan ng dagat na gawing madali rin ang isang tinukoy na hanay ng mga mahirap na bagay' - Michael Waskom (Tagalikha ng Seaborn).
Sa katunayan, ang Matplotlib ay mabuti ngunit ang Seaborn ay mas mahusay. Karaniwan may dalawang pagkukulang ng Matplotlib na inaayos ng Seaborn:

  1. Maaaring maisapersonal ang Matplotlib ngunit mahirap malaman kung anong mga setting ang kinakailangan upang gawing mas kaakit-akit ang mga plots. Sa kabilang banda, ang Seaborn ay may kasamang maraming mga pasadyang tema at mga interface na may mataas na antas upang malutas ang isyung ito.

  2. Kapag nagtatrabaho kasama Pandas , Hindi naglilingkod nang maayos ang Matplotlib pagdating sa pagharap sa DataFrames, habang ang mga pagpapaandar ng Seaborn ay talagang gumagana sa DataFrames.

Paano i-install ang Seaborn?

Upang mai-install ang Python Seaborn library, maaari mong gamitin ang mga sumusunod na utos batay sa ginagamit mong platform:

pip install seaborn

o

conda install ng seaborn

Kapag na-install na ito, siguraduhin lamang na mai-install ang mga pakete at aklatan na nakasalalay sa seaborn.

Pag-install ng Mga Depende sa Python Seaborn:

Ang sapilitan na mga dependency para sa seaborn ay:

Mayroong isang inirekumendang pagpapakandili pati na rin:

  • mga modelo ng estado

Upang mai-install ang mga aklatan na ito, maaari mong gamitin ang parehong mga utos tulad ng ipinakita dati para sa Seaborn na may kani-kanilang mga pangalan. Kapag na-install, madali silang mai-import. Pinapayagan ka ng Seaborn na mag-load ng anumang dataset mula sa gamit ang load_dataset () pagpapaandar Maaari mo ring tingnan ang lahat ng mga magagamit na mga database gamit ang function na get_dataset_names () tulad ng sumusunod:

HALIMBAWA:

mag-import ng seaborn bilang sns sns.get_dataset_names ()

Ibabalik nito ang isang listahan ng lahat ng mga magagamit na mga dataset.
Ngayon na na-set up mo ang iyong kapaligiran para sa pagtatrabaho sa seaborn, magpatuloy tayo upang makita kung paano gamitin ang pag-andar nito sa paglalagay ng plano .

Mga Pag-andar ng Seaborn Plotting

Paggunita ng Mga Kaugnay na Istatistika:

Ang proseso ng pag-unawa sa mga ugnayan sa pagitan ng mga variable ng isang dataset at kung paano ang mga ugnayan na ito, nakasalalay sa iba pang mga variable ay kilala bilang pagsusuri sa istatistika. Tingnan natin ngayon ang mas malalim na pagtingin sa mga pagpapaandar na kinakailangan para dito:

relplot ():

Ito ay isang figure-level-function na gumagamit ng dalawang iba pang mga pagpapaandar ng palakol para sa Paggunita ng Mga Istatistika na Mga Pakikipag-ugnay na:

  • dispersplot ()
  • lineplot ()

Ang mga pagpapaandar na ito ay maaaring tukuyin gamit ang parameter na 'uri' ng relplot (). Kung sakaling ibigay ang parameter na ito, kinakailangan ng default na isang dispersplot (). Bago mo simulang isulat ang iyong code, siguraduhing mag-import ng mga kinakailangang aklatan tulad ng sumusunod:

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

Mangyaring tandaan na ang istilo ng katangian ay napapasadyang din at maaaring tumagal ng anumang halaga tulad ng darkgrid, ticks, atbp na tatalakayin ko sa paglaon sa seksyon ng mga plot-aesthetics. Tingnan natin ngayon ang isang maliit na halimbawa:

HALIMBAWA:

f = sns.load_dataset ('flight') sns.relplot (x = 'pasahero', y = 'buwan', data = f)

OUTPUT:

Mga Flight1-Python Seaborn Tutorial-Edureka

Tulad ng nakikita mo, ang mga puntos ay naka-plot sa 2-sukat. Gayunpaman, maaari kang magdagdag ng isa pang dimensyon gamit ang seminong 'hue'. Tingnan natin ang isang halimbawa ng pareho:

HALIMBAWA:

f = sns.load_dataset ('flight') sns.relplot (x = 'pasahero', y = 'buwan', hue = 'taon', data = f)

Makikita mo ang sumusunod na output:

OUTPUT:

Gayunpaman, maraming iba pang mga pagpapasadya na maaari mong subukan tulad ng mga kulay, estilo, laki, atbp Ipakita lamang sa akin kung paano mo mababago ang kulay sa sumusunod na halimbawa:

HALIMBAWA:

sns.set (style = 'darkgrid') f = sns.load_dataset ('flight') sns.relplot (x = 'pasahero', y = 'month', hue = 'year', palette = 'ch: r = - .5, l = .75 ', data = f)

OUTPUT:

lineplot ():

Papayagan ka ng pagpapaandar na ito na gumuhit ng isang tuloy-tuloy na linya para sa iyong data. Maaari mong gamitin ang pagpapaandar na ito sa pamamagitan ng pagbabago ng parameter na 'uri' tulad ng sumusunod:

HALIMBAWA:

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], 'Mga Gamit': [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 ()

OUTPUT:

Ang default para sa lineplot ay y bilang isang pagpapaandar ng x. Gayunpaman, maaari itong mabago kung nais mong gawin ito. Maraming iba pang mga pagpipilian na maaari mong subukan pa.

Tingnan natin ngayon kung paano magbalak ng kategoryang data.

Plotting sa Kategoryang Data:

Ang diskarte na ito ay dumating sa larawan kapag ang aming pangunahing variable ay nahahati sa mga discrete group (kategorya). Maaari itong makamit gamit ang function na catplot ().

catplot ():

Ito ay isang figure-level-function tulad ng relplot (). Maaari itong makilala ng tatlong pamilya ng mga pagpapaandar sa antas ng palakol na katulad:

  1. Scatterplots - Kabilang dito ang stripplot (), swarmplot ()

    ano ang isang java bean
  2. Mga Plots ng Pamamahagi - na kung saan ay boxplot (), violinplot (), boxenplot ()

  3. Estimateplots - namely pointplot (), barplot (), countplot ()

Kumuha tayo ngayon ng ilang mga halimbawa upang maipakita ito:

HALIMBAWA:

i-import ang seaborn bilang sns import matplotlib.pyplot bilang plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', data = a)

OUTPUT:

Tulad ng nakikita mo, sa halimbawa sa itaas hindi ko naitakda ang parameter na 'uri'. Samakatuwid ibinalik nito ang grapiko bilang default na spreadplot. Maaari mong tukuyin ang alinman sa pagpapaandar sa antas ng palakol upang baguhin ang grapiko kung kinakailangan. Kumuha rin tayo ng halimbawa nito:

HALIMBAWA:

i-import ang seaborn bilang sns import matplotlib.pyplot bilang plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', mabait = 'violin', data = a)

OUTPUT:

Ipinapakita ng output sa itaas ang violinplot para sa mga tip ng dataset. Ngayon subukan nating hanapin kung paano mailarawan ang pamamahagi ng isang dataset.

Ipinapakita ang pamamahagi ng isang dataset:

Karaniwang nakikipag-usap ito sa pag-unawa ng mga dataset na may konteksto sa pagiging univariate o bivariate. Bago magsimula dito, i-import lamang ang sumusunod:

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)

Kapag tapos na ito, maaari mong ipagpatuloy ang paglalagay ng univariate at bivariate na mga pamamahagi.

Plotting Univariate pamamahagi:

Upang balangkasin ang mga ito, maaari mong gamitin ang pagpapaandar ng distplot () tulad ng sumusunod:

HALIMBAWA:

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

OUTPUT:

dumaan sa halaga sa java

Tulad ng nakikita mo sa halimbawa sa itaas, nagplano kami ng isang graph para sa variable a na ang mga halaga ay nabuo ng normal () na pag-andar gamit ang distplot.

Plotting bivariate pamamahagi:

Dumarating ito sa larawan kapag mayroon kang dalawang mga random na independiyenteng variable na nagreresulta sa ilang maaaring mangyari. Ang pinakamahusay na pag-andar upang magbalangkas ng ganitong uri ng mga graphic ay jointplot (). Plot natin ngayon ang isang bivariate graph gamit ang jointplot ().

HALIMBAWA:

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], 'Mga Gamit': [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]) ibig sabihin, cov = [0, 1], [(1, .5), (.5, 1)] data = np.random.multivariate_normal (ibig sabihin, cov, 200 ) may sns.axes_style ('puti'): sns.jointplot (x = x, y = y, mabait = 'kde', kulay = 'b')

OUTPUT:

Ngayon na naintindihan mo ang iba't ibang mga pag-andar sa Python Seaborn, magpatuloy tayo upang bumuo ng mga nakabalangkas na multi-plot grids.

Mga Multi-Plot Grid:

Pinapayagan ka ng Python Seaborn na magbalangkas ng maraming mga grid na magkatabi. Karaniwan itong mga plot o grap na naka-plot gamit ang parehong scale at axes upang matulungan ang paghahambing sa pagitan nila. Ito naman ay tumutulong sa programmer na mabilis na makilala ang pagkakaiba sa pagitan ng mga plots at makakuha ng maraming impormasyon.

Isaalang-alang ang sumusunod na halimbawa ng pagpapaandar ng facetgrid () upang magplano ng mga grapikong ito.

HALIMBAWA:

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

OUTPUT:

Ang output sa itaas ay malinaw na ipinapakita ang paghahambing sa pagitan ng mga tip na ibinibigay sa panahon ng Tanghalian at Hapunan. Maaari ka ring magbalak gamit ang PairGrid function kapag mayroon kang isang pares ng mga variable upang ihambing. Isaalang-alang ang sumusunod na halimbawa.

HALIMBAWA:

sns.set (style = 'ticks') a = sns.load_dataset ('flight') b = sns.PairGrid (a) b.map (plt.scatter)

OUTPUT:

Tulad ng nakikita mo, ang output sa itaas ay malinaw na naghahambing sa pagitan ng taon at ng bilang ng mga pasahero sa iba't ibang paraan.

Pinapayagan din ng Seaborn ang mga pagpapasadya patungkol sa mga aesthetics na tinatalakay pa.

Plot-Aesthetics:

Ang segment na ito ng tutorial ng Python Seaborn ay nakikipag-usap sa paggawa ng aming mga balangkas na mas kaakit-akit at kasiya-siya.

Python Seaborn Figure-Aesthetics:

Ang unang pagpapaandar na tatalakayin ko ay nakatakda (). Ginamit ko ang parameter na 'style' ng pagpapaandar na ito dati. Karaniwang nakikipag-usap ang parameter na ito sa mga tema ng dagat. Sa kasalukuyan, mayroong lima sa kanila na magagamit katulad ng darkgrid, ticks, whitegrid, puti at madilim.

Isaalang-alang ang sumusunod na halimbawa na nagpapakita ng puting tema.

HALIMBAWA:

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

OUTPUT:

Sa output sa itaas, maaari mong mapansin ang tema ay binago sa puti. Maaari mong tuklasin ang mga ito nang higit pa gamit ang iba pang mga tema pati na rin. Kung napansin mo sa nakaraang output, may mga palakol na naroroon sa paligid ng grap. Gayunpaman, napapasadyang din ito gamit ang paghamak () na pagpapaandar. Tingnan ang halimbawa sa ibaba.

HALIMBAWA:

i-import ang seaborn bilang sns import matplotlib.pyplot bilang 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)

OUTPUT:



Tandaan ang pagkakaiba sa pagitan ng nakaraang dalawang output. Gayunpaman, maraming iba pang mga pagpipilian na maaari mong tuklasin para sa iyong sarili.

Mga Kulay-Palette ng Python Seaborn:

Karaniwan ang kulay ay ang tampok na lumalapit sa mga mata ng tao nang higit sa anumang iba pang tampok. Pinapayagan ka ng Seaborn na maglaro ng mga kulay gamit ang iba't ibang mga pag-andar tulad ng color_palette (), hls_palette (), husl_palette (), atbp. Tingnan ang mga kulay na kasalukuyang nasa loob ng seaborn.

HALIMBAWA:

import numpy as np import seaborn as sns import matplotlib.pyplot as plt sns.set () presentcolors = sns.color_palette () sns.palplot (presentcolors)

OUTPUT:

Ipinapakita ng imahe sa itaas ang mga kulay na naroroon sa loob ng dagat. Nagawa ko ito gamit ang pag-andar ng palplot (). Para sa mas malalim na pagkakaiba-iba, maaari mong gamitin ang hls_palette (), husl_palette (), atbp.

Dinadala tayo nito sa pagtatapos ng Tutorial sa Python Seaborn. Sana naiintindihan mo nang malinaw ang lahat. Tiyaking nagsasanay ka hangga't maaari .

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng 'Python Seaborn Tutorial' na blog na ito at babalikan ka namin sa lalong madaling panahon.

Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari kang magpatala nang live na may 24/7 na suporta at habambuhay na pag-access.