Python Seaborn-zelfstudie: wat is Seaborn en hoe te gebruiken?



Python Seaborn-tutorial over het verschil tussen seaborn en matplotlib. Lees ook meer over de verschillende functies en aanpassingen die beschikbaar zijn in seaborn.

Python is een opslagplaats van talloze enorm krachtige bibliotheken en frameworks. Onder hen is Seaborn, dat is een dominant data visualisatie bibliotheek, waardoor programmeurs nog een reden hebben om te voltooien . In deze Python Seaborn-zelfstudie leert u alle kneepjes van datavisualisatie met Seaborn.

Laten we, voordat we verder gaan, eerst eens kijken naar alle discussiepunten in dit artikel:





Laten we dus eerst beginnen met het belang van Python Seaborn uit te leggen.

Waarom Python Seaborn gebruiken?

Zoals eerder vermeld, wordt de Python Seaborn-bibliotheek gebruikt om de uitdagende taak van gegevensvisualisatie te vergemakkelijken en is deze gebaseerd op . Seaborn maakt het mogelijk om statistische afbeeldingen te maken via de volgende functionaliteiten:



  • Een API die is gebaseerd op datasets waardoor vergelijking tussen meerdere variabelen

  • Ondersteunt multi-plot-rasters die op hun beurt het bouwen van complexe visualisaties vergemakkelijken

  • Univariate en bivariate visualisaties beschikbaar om tussen subsets van gegevens te vergelijken



  • Beschikbaarheid van verschillende kleurenpaletten om verschillende soorten patronen te onthullen

  • Schattingen en percelen automatisch

Dus als u zich afvroeg waarom u Seaborn zou gebruiken als u Matplotlib al heeft, dan is hier het antwoord.

Python Seaborn versus Matplotlib:

'Als Matplotlib' gemakkelijke dingen gemakkelijk en moeilijk mogelijk probeert te maken ', probeert Seaborn ook een goed gedefinieerde reeks moeilijke dingen gemakkelijk te maken' - Michael Waskom (Schepper van Seaborn).
Matplotlib is eigenlijk goed, maar Seaborn is beter. Er zijn in feite twee tekortkomingen van Matplotlib die Seaborn verhelpt:

  1. Matplotlib kan worden gepersonaliseerd, maar het is moeilijk om erachter te komen welke instellingen nodig zijn om plots aantrekkelijker te maken. Aan de andere kant wordt Seaborn geleverd met tal van aangepaste thema's en hoogwaardige interfaces om dit probleem op te lossen.

  2. Bij het werken met Panda's , Matplotlib doet het niet goed als het gaat om het omgaan met DataFrames, terwijl Seaborn-functies wel werken op DataFrames.

wat is het beste idee voor java

Hoe Seaborn te installeren?

Om de Python Seaborn-bibliotheek te installeren, kunt u de volgende opdrachten gebruiken op basis van het platform dat u gebruikt:

pip installeer seaborn

of

conda installeert seaborn

Als dit eenmaal is geïnstalleerd, zorg er dan voor dat u de pakketten en bibliotheken installeert waarvan seaborn afhankelijk is.

Python Seaborn-afhankelijkheden installeren:

Verplichte afhankelijkheden voor seaborn zijn:

Er is ook een aanbevolen afhankelijkheid, namelijk:

  • staat modellen

Om deze bibliotheken te installeren, kunt u dezelfde opdrachten gebruiken als eerder getoond voor Seaborn met hun respectievelijke namen. Eenmaal geïnstalleerd, kunnen ze eenvoudig worden geïmporteerd. Met Seaborn kunt u elke dataset laden van de ... gebruiken load_dataset () functie. U kunt ook alle beschikbare datasets als volgt bekijken met de functie get_dataset_names ():

VOORBEELD:

importeer seaborn als sns sns.get_dataset_names ()

Hiermee wordt een lijst met alle beschikbare datasets geretourneerd.
Nu u uw omgeving heeft ingesteld om met seaborn te werken, gaan we verder om te zien hoe u de plotfuncties kunt gebruiken in .

Seaborn-plotfuncties

Statistische relaties visualiseren:

Het proces van het begrijpen van relaties tussen variabelen van een dataset en hoe deze relaties op hun beurt afhankelijk zijn van andere variabelen, staat bekend als statistische analyse. Laten we nu eens dieper ingaan op de functies die hiervoor nodig zijn:

relplot ():

Dit is een figuurniveau-functie die gebruik maakt van twee andere asfuncties voor het visualiseren van statistische relaties, namelijk:

  • scatterplot ()
  • lineplot ()

Deze functies kunnen worden gespecificeerd met de ‘soort’ parameter van relplot (). In het geval dat deze parameter wordt opgegeven, wordt de standaard gebruikt die scatterplot () is. Voordat u begint met het schrijven van uw code, moet u de vereiste bibliotheken als volgt importeren:

importeer numpy als np importeer panda's als pd importeer matplotlib.pyplot als plt importeer seaborn als sns sns.set (style = 'darkgrid')

Houd er rekening mee dat het style-attribuut ook aanpasbaar is en elke waarde kan aannemen, zoals darkgrid, ticks, enz. Die ik later in de plot-aesthetics-sectie zal bespreken. Laten we nu een klein voorbeeld bekijken:

VOORBEELD:

f = sns.load_dataset ('vluchten') sns.relplot (x = 'passagiers', y = 'maand', data = f)

UITGANG:

Flights1-Python Seaborn Tutorial-Edureka

Zoals u kunt zien, zijn de punten uitgezet in 2-dimensies. U kunt echter een andere dimensie toevoegen met de semantiek ‘tint’. Laten we een voorbeeld van hetzelfde bekijken:

VOORBEELD:

f = sns.load_dataset ('vluchten') sns.relplot (x = 'passagiers', y = 'maand', hue = 'jaar', data = f)

U ziet de volgende uitvoer:

UITGANG:

Er zijn echter nog veel meer aanpassingen die u kunt uitproberen, zoals kleuren, stijlen, grootte, enz. In het volgende voorbeeld laat ik u zien hoe u de kleur kunt wijzigen:

VOORBEELD:

sns.set (style = 'darkgrid') f = sns.load_dataset ('vluchten') sns.relplot (x = 'passagiers', y = 'maand', hue = 'jaar', palette = 'ch: r = - .5, l = .75 ', gegevens = f)

UITGANG:

lineplot ():

Met deze functie kunt u een doorlopende lijn trekken voor uw gegevens. U kunt deze functie gebruiken door de parameter ‘kind’ als volgt te wijzigen:

VOORBEELD:

a = pd.DataFrame ({'Dag': [1,2,3,4,5,6,7], 'Kruidenier': [30,80,45,23,51,46,76], 'Kleding' : [13,40,34,23,54,67,98], 'Gebruiksvoorwerpen': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) g = sns.relplot (x = 'Dag', y = 'Kleding', soort = 'lijn', data = a) g.fig.autofmt_xdate ()

UITGANG:

De standaardwaarde voor lineplot is y als functie van x. Het kan echter worden gewijzigd als u dat wilt. Er zijn nog veel meer opties die u verder kunt uitproberen.

Laten we nu eens kijken hoe u categorische gegevens kunt plotten.

Plotten met categorische gegevens:

Deze benadering komt in beeld wanneer onze hoofdvariabele verder wordt onderverdeeld in discrete groepen (categorisch). Dit kan worden bereikt met de functie catplot ().

catplot ():

Dit is een figuurniveau-functie zoals relplot (). Het kan worden gekenmerkt door drie families van asniveau-functies, namelijk:

  1. Scatterplots - Deze omvatten stripplot (), swarmplot ()

    data-abstractie c ++
  2. Distribution Plots - dit zijn boxplot (), violinplot (), boxenplot ()

  3. Schattingsplots - namelijk pointplot (), barplot (), countplot ()

Laten we nu een paar voorbeelden nemen om dit te demonstreren:

VOORBEELD:

importeer seaborn als sns importeer matplotlib.pyplot als plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', data = a)

UITGANG:

Zoals u kunt zien, heb ik in het bovenstaande voorbeeld de ‘soort’ parameter niet ingesteld. Daarom heeft het de grafiek geretourneerd als de standaard scatterplot. U kunt elk van de asniveaufuncties specificeren om de grafiek naar behoefte te wijzigen. Laten we hier ook een voorbeeld van nemen:

VOORBEELD:

importeer seaborn als sns importeer matplotlib.pyplot als plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', kind = 'viool', data = a)

UITGANG:

De bovenstaande output toont het vioolplot voor de tips-dataset. Laten we nu proberen uit te vinden hoe we de distributie van een dataset kunnen visualiseren.

De distributie van een dataset visualiseren:

Dit gaat in feite over het begrijpen van datasets met context tot univariate of bivariate. Voordat u hiermee begint, importeert u gewoon het volgende:

importeer numpy als np importeer panda's als pd importeer seaborn als sns importeer matplotlib.pyplot als plt uit scipy import stats sns.set (color_codes = True)

Zodra dit is gebeurd, kunt u doorgaan met het plotten van univariate en bivariate distributies.

Univariate distributies plotten:

Om ze te plotten, kunt u als volgt de functie distplot () gebruiken:

VOORBEELD:

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

UITGANG:

Zoals je in het bovenstaande voorbeeld kunt zien, hebben we een grafiek uitgezet voor de variabele a waarvan de waarden worden gegenereerd door de functie normal () met behulp van distplot.

Bivariate distributies plotten:

Dit komt in beeld wanneer je twee willekeurige onafhankelijke variabelen hebt die resulteren in een waarschijnlijke gebeurtenis. De beste functie om dit soort grafieken te plotten is jointplot (). Laten we nu een bivariate grafiek uitzetten met jointplot ().

VOORBEELD:

x = pd.DataFrame ({'Dag': [1,2,3,4,5,6,7], 'Kruidenier': [30,80,45,23,51,46,76], 'Kleding' : [13,40,34,23,54,67,98], 'Gebruiksvoorwerpen': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) y = pd.DataFrame ({'Dag': [8,9,10,11,12,13,14], 'Kruidenier': [30,80,45,23,51,46, 76], 'Kleding': [13,40,34,23,54,67,98], 'Gebruiksvoorwerpen': [12,32,27,56,87,54,34]}, index = [8,9 , 10,11,12,13,14]) gemiddelde, cov = [0, 1], [(1, .5), (.5, 1)] data = np.willekeurig. Multivariate_normal (gemiddelde, cov, 200 ) met sns.axes_style ('white'): sns.jointplot (x = x, y = y, kind = 'kde', color = 'b')

UITGANG:

Nu je de verschillende functies in Python Seaborn hebt begrepen, gaan we verder met het bouwen van gestructureerde multi-plot-rasters.

Multi-plot-rasters:

Met Python Seaborn kunt u meerdere rasters naast elkaar plotten. Dit zijn in feite plots of grafieken die zijn geplot met behulp van dezelfde schaal en assen om de vergelijking daartussen te vergemakkelijken. Dit helpt op zijn beurt de programmeur om snel onderscheid te maken tussen de plots en grote hoeveelheden informatie te verkrijgen.

Beschouw het volgende voorbeeld van de functie facetgrid () om deze grafieken te plotten.

VOORBEELD:

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

UITGANG:

Bovenstaande output laat duidelijk de vergelijking zien tussen de tips die gegeven worden tijdens Lunch en Diner. U kunt ook plotten met de functie PairGrid als u een paar variabelen wilt vergelijken. Beschouw het volgende voorbeeld eens.

VOORBEELD:

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

UITGANG:

Zoals je kunt zien, vergelijkt de bovenstaande output duidelijk op verschillende manieren tussen het jaar en het aantal passagiers.

Seaborn staat ook aanpassingen toe met betrekking tot esthetiek, wat verder wordt besproken.

java zet dubbel naar geheel getal om

Plot-esthetiek:

Dit deel van de Python Seaborn-tutorial behandelt het aantrekkelijker en aangenamer maken van onze plots.

Python Seaborn figuur-esthetiek:

De eerste functie die ik zal bespreken, is set (). Ik heb de ‘style’ parameter van deze functie eerder gebruikt. Deze parameter behandelt in feite seaborn-thema's. Momenteel zijn er vijf beschikbaar, namelijk darkgrid, ticks, whitegrid, white en dark.

Beschouw het volgende voorbeeld dat het witte thema laat zien.

VOORBEELD:

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

UITGANG:

In de bovenstaande uitvoer kunt u zien dat het thema is gewijzigd in wit. U kunt ze ook verder verkennen met behulp van de andere thema's. Als u in de vorige uitvoer opmerkt, zijn er assen rondom de grafiek. Dit kan echter ook worden aangepast met de functie despine (). Bekijk het onderstaande voorbeeld.

VOORBEELD:

importeer seaborn als sns importeer matplotlib.pyplot als 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)

UITGANG:



Let op het verschil tussen de vorige twee uitgangen. Er zijn echter nog veel meer opties die u zelf kunt verkennen.

Python Seaborn kleurenpaletten:

Kleur is in feite het kenmerk dat de menselijke ogen nadert dan enig ander kenmerk. Met Seaborn kun je met kleuren spelen met behulp van verschillende functies zoals color_palette (), hls_palette (), husl_palette (), enz. Bekijk de kleuren die momenteel aanwezig zijn in seaborn.

VOORBEELD:

importeer numpy als np importeer seaborn als sns importeer matplotlib.pyplot als plt sns.set () presentcolors = sns.color_palette () sns.palplot (presentcolors)

UITGANG:

De bovenstaande afbeelding toont de kleuren die aanwezig zijn in seaborn. Ik heb het gedaan met de functie palplot (). Voor diepere variaties kunt u hls_palette (), husl_palette (), enz. Gebruiken.

Dit brengt ons bij het einde van Python Seaborn Tutorial. Ik hoop dat je alles duidelijk hebt begrepen. Zorg ervoor dat je zoveel mogelijk oefent .

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze 'Python Seaborn Tutorial' -blog en we nemen zo snel mogelijk contact met u op.

Om diepgaande kennis op te doen over Python en de verschillende applicaties, kunt u zich live inschrijven met 24/7 ondersteuning en levenslange toegang.