Data-analyse met Python

In dit artikel bespreken we hoe u data-analyse kunt uitvoeren met Python. We zullen allerlei soorten data-analyse bespreken, dat wil zeggen het analyseren van numerieke gegevens met NumPy, tabelgegevens met Pandas, datavisualisatie Matplotlib en verkennende data-analyse.

Gegevensanalyse met Python

Gegevensanalyse is de techniek voor het verzamelen, transformeren en organiseren van gegevens om toekomstige voorspellingen en weloverwogen datagestuurde beslissingen te maken. Het helpt ook bij het vinden van mogelijke oplossingen voor een bedrijfsprobleem. Er zijn zes stappen voor gegevensanalyse. Zij zijn:

  • Vraag of specificeer gegevensvereisten
  • Gegevens voorbereiden of verzamelen
  • Schoon en proces
  • Analyseren
  • Deel
  • Handelen of rapporteren

Data-analyse met Python



Opmerking: Voor meer informatie over deze stappen raadpleegt u onze NumPy is een arrayverwerkingspakket in Python en biedt een krachtig multidimensionaal arrayobject en hulpmiddelen voor het werken met deze arrays. Het is het fundamentele pakket voor wetenschappelijk computergebruik met Python.

Arrays in NumPy

NumPy-array is een tabel met elementen (meestal getallen), allemaal van hetzelfde type, geïndexeerd door een tupel positieve gehele getallen. In Numpy wordt het aantal dimensies van de array de rangorde van de array genoemd. Een tupel gehele getallen die de grootte van de array langs elke dimensie aangeven, staat bekend als de vorm van de array.

NumPy-array maken

NumPy-arrays kunnen op meerdere manieren worden gemaakt, met verschillende rangen. Het kan ook worden gemaakt met behulp van verschillende gegevenstypen zoals lijsten, tupels, enz. Het type van de resulterende array wordt afgeleid van het type elementen in de reeksen. NumPy biedt verschillende functies om arrays te maken met initiële placeholder-inhoud. Deze minimaliseren de noodzaak van het laten groeien van arrays, een dure operatie.

Maak een array met behulp van numpy.empty(vorm, dtype=float, order=’C’)

Python3
import numpy as np b = np.empty(2, dtype = int) print('Matrix b : 
', b) a = np.empty([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.empty([3, 3]) print('
Matrix c : 
', c) 

Uitgang:

Lege Matrix met panda

Lege Matrix met panda's

Maak een array met behulp van numpy.zeros(vorm, dtype = Geen, volgorde = ‘C’)

Python3
import numpy as np b = np.zeros(2, dtype = int) print('Matrix b : 
', b) a = np.zeros([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.zeros([3, 3]) print('
Matrix c : 
', c) 

Uitgang:

Matrix b :   [0 0]  Matrix a :   [[0 0]  [0 0]]  Matrix c :   [[0. 0. 0.]  [0. 0. 0.]  [0. 0. 0.]] 

Bewerkingen op Numpy-arrays

Rekenkundige bewerkingen

  • Toevoeging:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing addition using arithmetic operator add_ans = a+b print(add_ans) # Performing addition using numpy function add_ans = np.add(a, b) print(add_ans) # The same functions and operations can be used for # multiple matrices c = np.array([1, 2, 3, 4]) add_ans = a+b+c print(add_ans) add_ans = np.add(a, b, c) print(add_ans) 

Uitgang:

[ 7 77 23 130] [ 7 77 23 130] [ 8 79 26 134] [ 7 77 23 130] 
  • Aftrekken:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing subtraction using arithmetic operator sub_ans = a-b print(sub_ans) # Performing subtraction using numpy function sub_ans = np.subtract(a, b) print(sub_ans) 

Uitgang:

[ 3 67 3 70] [ 3 67 3 70] 
  • Vermenigvuldiging:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing multiplication using arithmetic # operator mul_ans = a*b print(mul_ans) # Performing multiplication using numpy function mul_ans = np.multiply(a, b) print(mul_ans) 

Uitgang:

[ 10 360 130 3000] [ 10 360 130 3000] 
  • Divisie:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing division using arithmetic operators div_ans = a/b print(div_ans) # Performing division using numpy functions div_ans = np.divide(a, b) print(div_ans) 

Uitgang:

[ 2.5 14.4 1.3 3.33333333] [ 2.5 14.4 1.3 3.33333333] 

Voor meer informatie verwijzen wij u naar onze NumPy - Tutorial voor rekenkundige bewerkingen

NumPy-array-indexering

Indexering kan in NumPy worden gedaan door een array als index te gebruiken. In het geval van het segment wordt een weergave of ondiepe kopie van de array geretourneerd, maar in de indexarray wordt een kopie van de originele array geretourneerd. Numpy-arrays kunnen worden geïndexeerd met andere arrays of elke andere reeks, met uitzondering van tupels. Het laatste element wordt geïndexeerd met -1 seconde, laatst met -2 enzovoort.

Python NumPy Array-indexering

Python3
# Python program to demonstrate # the use of index arrays. import numpy as np # Create a sequence of integers from # 10 to 1 with a step of -2 a = np.arange(10, 1, -2) print('
 A sequential array with a negative step: 
',a) # Indexes are specified inside the np.array method. newarr = a[np.array([3, 1, 2 ])] print('
 Elements at these indices are:
',newarr) 

Uitgang:

A sequential array with a negative step:   [10 8 6 4 2]   Elements at these indices are:  [4 8 6] 

NumPy-array-slicing

Beschouw de syntaxis x[obj] waarbij x de array is en obj de index. Het slice-object is de index in het geval van basis snijden . Basis-slicing vindt plaats wanneer obj is:

  • een slice-object in de vorm start: stop: stap
  • een geheel getal
  • of een tupel segmentobjecten en gehele getallen

Alle arrays die door basis-slicing worden gegenereerd, zijn altijd de weergave in de originele array.

Python3
# Python program for basic slicing. import numpy as np # Arrange elements from 0 to 19 a = np.arange(20) print('
 Array is:
 ',a) # a[start:stop:step] print('
 a[-8:17:1] = ',a[-8:17:1]) # The : operator means all elements till the end. print('
 a[10:] = ',a[10:]) 

Uitgang:

Array is: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]  a[-8:17:1] = [12 13 14 15 16]  a[10:] = [10 11 12 13 14 15 16 17 18 19] 

Ellipsis kan ook worden gebruikt in combinatie met basissnijden. Ellipsis (…) is het aantal: objecten dat nodig is om een ​​selectietuple te maken met dezelfde lengte als de afmetingen van de array.

Python3
# Python program for indexing using basic slicing with ellipsis import numpy as np # A 3 dimensional array. b = np.array([[[1, 2, 3],[4, 5, 6]], [[7, 8, 9],[10, 11, 12]]]) print(b[...,1]) #Equivalent to b[: ,: ,1 ] 

Uitgang:

[[ 2 5]  [ 8 11]] 

NumPy Array-uitzending

De voorwaarde uitzending verwijst naar hoe numpy arrays met verschillende dimensies behandelt tijdens rekenkundige bewerkingen die tot bepaalde beperkingen leiden, de kleinere array wordt over de grotere array uitgezonden, zodat ze compatibele vormen hebben.

Laten we aannemen dat we een grote dataset hebben; elk gegeven is een lijst met parameters. In Numpy hebben we een 2D-array, waarbij elke rij een gegeven is en het aantal rijen de grootte van de gegevensset is. Stel dat we een soort schaalverdeling op al deze gegevens willen toepassen, dan krijgt elke parameter zijn eigen schaalfactor, of zeg dat elke parameter met een bepaalde factor wordt vermenigvuldigd.

Laten we, voor een duidelijk begrip, de calorieën in voedingsmiddelen tellen met behulp van de afbraak van macronutriënten. Grof gezegd bestaan ​​de calorische delen van voedsel uit vetten (9 calorieën per gram), eiwitten (4 CPG) en koolhydraten (4 CPG). Dus als we een aantal voedingsmiddelen opsommen (onze gegevens), en voor elk voedingsmiddel de afbraak van macronutriënten (parameters), kunnen we vervolgens elke voedingsstof vermenigvuldigen met de calorische waarde (schaling toepassen) om de calorische afbraak van elk voedingsmiddel te berekenen.

NumPy Array-uitzending

Met deze transformatie kunnen we nu allerlei nuttige informatie berekenen. Wat is bijvoorbeeld het totale aantal calorieën dat in bepaald voedsel aanwezig is, of, gegeven een uitsplitsing van mijn avondeten, hoeveel calorieën ik uit eiwitten heb gehaald, enzovoort.

Laten we eens kijken naar een naïeve manier om deze berekening met Numpy te maken:

Python3
import numpy as np macros = np.array([ [0.8, 2.9, 3.9], [52.4, 23.6, 36.5], [55.2, 31.7, 23.9], [14.4, 11, 4.9] ]) # Create a new array filled with zeros, # of the same shape as macros. result = np.zeros_like(macros) cal_per_macro = np.array([3, 3, 8]) # Now multiply each row of macros by # cal_per_macro. In Numpy, `*` is # element-wise multiplication between two arrays. for i in range(macros.shape[0]): result[i, :] = macros[i, :] * cal_per_macro result 

Uitgang:

array([[ 2.4, 8.7, 31.2],  [157.2, 70.8, 292. ],  [165.6, 95.1, 191.2],  [ 43.2, 33. , 39.2]]) 

Uitzendregels: Bij het samen uitzenden van twee arrays gelden de volgende regels:

  • Als de arrays niet dezelfde rang hebben, zet dan 1s vóór de vorm van de array met de lagere rang totdat beide vormen dezelfde lengte hebben.
  • De twee arrays zijn compatibel in een dimensie als ze in die dimensie dezelfde grootte hebben of als een van de arrays in die dimensie maat 1 heeft.
  • De arrays kunnen samen worden uitgezonden als ze compatibel zijn met alle afmetingen.
  • Na het uitzenden gedraagt ​​elke array zich alsof deze een vorm heeft die gelijk is aan het elementaire maximum aan vormen van de twee invoerarrays.
  • In elke dimensie waar de ene array een grootte van 1 had en de andere array een grootte groter dan 1 had, gedraagt ​​de eerste array zich alsof deze langs die dimensie is gekopieerd.
Python3
import numpy as np v = np.array([12, 24, 36]) w = np.array([45, 55]) # To compute an outer product we first # reshape v to a column vector of shape 3x1 # then broadcast it against w to yield an output # of shape 3x2 which is the outer product of v and w print(np.reshape(v, (3, 1)) * w) X = np.array([[12, 22, 33], [45, 55, 66]]) # x has shape 2x3 and v has shape (3, ) # so they broadcast to 2x3, print(X + v) # Add a vector to each column of a matrix X has # shape 2x3 and w has shape (2, ) If we transpose X # then it has shape 3x2 and can be broadcast against w # to yield a result of shape 3x2. # Transposing this yields the final result # of shape 2x3 which is the matrix. print((X.T + w).T) # Another solution is to reshape w to be a column # vector of shape 2X1 we can then broadcast it # directly against X to produce the same output. print(X + np.reshape(w, (2, 1))) # Multiply a matrix by a constant, X has shape 2x3. # Numpy treats scalars as arrays of shape(); # these can be broadcast together to shape 2x3. print(X * 2) 

Uitgang:

[[ 540 660]  [1080 1320]  [1620 1980]] [[ 24 46 69]  [ 57 79 102]] [[ 57 67 78]  [100 110 121]] [[ 57 67 78]  [100 110 121]] [[ 24 44 66]  [ 90 110 132]] 

Opmerking: Voor meer informatie verwijzen wij u naar onze Python NumPy-zelfstudie .

Gegevens analyseren met behulp van panda's

Python Pandas Wordt gebruikt voor relationele of gelabelde gegevens en biedt verschillende datastructuren voor het manipuleren van dergelijke gegevens en tijdreeksen. Deze bibliotheek is bovenop de NumPy-bibliotheek gebouwd. Deze module wordt over het algemeen geïmporteerd als:

import pandas as pd 

Hier wordt pd een alias voor de Panda's genoemd. Het is echter niet nodig om de bibliotheek te importeren met behulp van de alias; het helpt alleen om minder code te schrijven elke keer dat een methode of eigenschap wordt aangeroepen. Panda's bieden over het algemeen twee datastructuren voor het manipuleren van gegevens:

  • Serie
  • Dataframe

Serie:

Panda's serie is een eendimensionaal gelabelde array die gegevens van elk type kan bevatten (geheel getal, string, float, python-objecten, enz.). De aslabels worden gezamenlijk indexen genoemd. Pandas Series is niets anders dan een kolom in een Excel-werkblad. Labels hoeven niet uniek te zijn, maar moeten van een hashbaar type zijn. Het object ondersteunt zowel indexering op basis van gehele getallen als op labels, en biedt een groot aantal methoden voor het uitvoeren van bewerkingen waarbij de index betrokken is.

Panda's serie

Het kan worden gemaakt met behulp van de functie Series() door de dataset te laden vanuit de bestaande opslag zoals SQL, Database, CSV-bestanden, Excel-bestanden, enz., of vanuit datastructuren zoals lijsten, woordenboeken, enz.

Python-panda's maken series

Python3
import pandas as pd import numpy as np # Creating empty series ser = pd.Series() print(ser) # simple array data = np.array(['g', 'e', 'e', 'k', 's']) ser = pd.Series(data) print(ser) 

Uitgang:

pnadas-serie

pnadas-serie

Dataframe:

Panda's DataFrame is een tweedimensionale, in grootte veranderbare, potentieel heterogene tabelvormige gegevensstructuur met gelabelde assen (rijen en kolommen). Een dataframe is een tweedimensionale datastructuur, dat wil zeggen dat data in tabelvorm in rijen en kolommen worden uitgelijnd. Pandas DataFrame bestaat uit drie hoofdcomponenten: de gegevens, rijen en kolommen.

Panda's-dataframe

Het kan worden gemaakt met behulp van de Dataframe()-methode en kan, net als een reeks, ook uit verschillende bestandstypen en datastructuren bestaan.

Python-panda's maken een dataframe

Python3
import pandas as pd # Calling DataFrame constructor df = pd.DataFrame() print(df) # list of strings lst = ['Geeks', 'For', 'Geeks', 'is', 'portal', 'for', 'Geeks'] # Calling DataFrame constructor on list df = pd.DataFrame(lst) df 

Uitgang:

Dataframe maken uit de lijst

Dataframe maken vanuit Python-lijst

Dataframe maken vanuit CSV

We kunnen maak een dataframe van de CSV bestanden met behulp van de lees_csv() functie.

Python-panda's lezen CSV

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # Printing top 5 rows df.head() 

Uitgang:

hoofd van een dataframe

hoofd van een dataframe

DataFrame filteren

Panda's dataframe.filter() De functie wordt gebruikt om rijen of kolommen van een dataframe te subsetten volgens labels in de opgegeven index. Merk op dat deze routine een dataframe niet op zijn inhoud filtert. Het filter wordt toegepast op de labels van de index.

Python Panda's filteren dataframe

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # applying filter function df.filter(['Species', 'SepalLengthCm', 'SepalLengthCm']).head() 

Uitgang:

Filter toepassen op dataset

Filter toepassen op dataset

DataFrame sorteren

Om het dataframe in panda's te sorteren, moet de function sort_values() is gebruikt. Panda's sort_values() kunnen het dataframe in oplopende of aflopende volgorde sorteren.

Python-panda's sorteren het dataframe in oplopende volgorde

Uitgang:

Gesorteerde gegevensset op basis van een kolomwaarde

Gesorteerde gegevensset op basis van een kolomwaarde

Panda's GroupBy

Groeperen op is een vrij eenvoudig concept. We kunnen een groep categorieën maken en een functie op de categorieën toepassen. Bij echte data science-projecten heb je te maken met grote hoeveelheden data en moet je dingen keer op keer uitproberen, dus voor de efficiëntie gebruiken we het Groupby-concept. Groupby verwijst voornamelijk naar een proces dat een of meer van de volgende stappen omvat:

  • Splitsen: Het is een proces waarbij we gegevens in groepen splitsen door enkele voorwaarden op datasets toe te passen.
  • Toepassen: Het is een proces waarbij we op elke groep afzonderlijk een functie toepassen.
  • Combineren: Het is een proces waarbij we verschillende datasets combineren na het toepassen van groupby en resultaten in een datastructuur.

De volgende afbeelding helpt bij het begrijpen van het proces dat bij het Groupby-concept betrokken is.

1. Groepeer de unieke waarden uit de kolom Team

Panda's Groupby-methode

2. Nu is er voor elke groep een emmer

3. Gooi de andere gegevens in de emmers

Panda

4. Pas een functie toe op de gewichtskolom van elke bak.

Functie toepassen op de gewichtskolom van elke kolom

Python Panda's GroupBy

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) print('Original Dataframe') display(df) # applying groupby() function to # group the data on Name value. gk = df.groupby('Name') # Let's print the first entries # in all the groups formed. print('After Creating Groups') gk.first() 

Uitgang:

panda

panda's groepsgewijs

Functie toepassen op groep:

Nadat we gegevens in een groep hebben gesplitst, passen we een functie toe op elke groep, zodat we een aantal bewerkingen kunnen uitvoeren:

  • Aggregatie: Het is een proces waarbij we een samenvattende statistiek (of statistieken) over elke groep berekenen. Bereken bijvoorbeeld groepssommen of middelen
  • Transformatie: Het is een proces waarbij we een aantal groepsspecifieke berekeningen uitvoeren en een like-index retourneren. Bijvoorbeeld het vullen van NA's binnen groepen met een waarde afgeleid van elke groep
  • Filtratie: Het is een proces waarbij we bepaalde groepen weggooien, volgens een groepsgewijze berekening die Waar of Onwaar evalueert. Bijvoorbeeld het filteren van gegevens op basis van de groepssom of het gemiddelde

Panda's-aggregatie

Aggregatie is een proces waarbij we een samenvattende statistiek over elke groep berekenen. De geaggregeerde functie retourneert één geaggregeerde waarde voor elke groep. Nadat gegevens in groepen zijn gesplitst met behulp van de groupby-functie, kunnen verschillende aggregatiebewerkingen worden uitgevoerd op de gegroepeerde gegevens.

Python Panda's-aggregatie

Python3
# importing pandas module import pandas as pd # importing numpy as np import numpy as np # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # performing aggregation using # aggregate method grp1 = df.groupby('Name') grp1.aggregate(np.sum) 

Uitgang:

Gebruik van de som-aggregaatfunctie op de dataset

Gebruik van de som-aggregaatfunctie op de dataset

DataFrame aaneenschakelen

Om het dataframe samen te voegen, gebruiken we concat() functie die helpt bij het aaneenschakelen van het dataframe. Deze functie doet al het zware werk van het uitvoeren van aaneenschakelingsbewerkingen samen met een as van Panda-objecten, terwijl optionele setlogica (vereniging of kruising) van de indexen (indien aanwezig) op de andere assen wordt uitgevoerd.

Python-panda's voegen dataframe samen

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # combining series and dataframe res = pd.concat([df, df1], axis=1) res 

Uitgang:

DataFrame samenvoegen

Wanneer we zeer grote DataFrames moeten combineren, vormen joins een krachtige manier om deze bewerkingen snel uit te voeren. Joins kunnen slechts op twee DataFrames tegelijk worden uitgevoerd, aangeduid als linker- en rechtertabellen. De sleutel is de gemeenschappelijke kolom waarop de twee DataFrames worden samengevoegd. Het is een goede gewoonte om sleutels met unieke waarden in de hele kolom te gebruiken om onbedoelde duplicatie van rijwaarden te voorkomen. Panda's bieden één enkele functie, samenvoegen() , als toegangspunt voor alle standaard database-join-bewerkingen tussen DataFrame-objecten.

Er zijn vier basismanieren om de join af te handelen (binnen, links, rechts en buiten), afhankelijk van welke rijen hun gegevens moeten behouden.

Daframe Python-panda

Python-panda's voegen dataframe samen

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # using .merge() function res = pd.merge(df, df1, on='key') res 

Uitgang:

Aaneenschakeling van twee datasets

Aaneenschakeling van twee datasets

Deelnemen aan DataFrame

Om deel te nemen aan het dataframe gebruiken we .meedoen() functie Deze functie wordt gebruikt voor het combineren van de kolommen van twee potentieel verschillend geïndexeerde DataFrames in één DataFrame als resultaat.

Python-panda's sluiten zich aan bij Dataframe

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32]} # Define a dictionary containing employee data data2 = {'Address':['Allahabad', 'Kannuaj', 'Allahabad', 'Kannuaj'], 'Qualification':['MCA', 'Phd', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1,index=['K0', 'K1', 'K2', 'K3']) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2, index=['K0', 'K2', 'K3', 'K4']) display(df, df1) # joining dataframe res = df.join(df1) res 

Uitgang:

Twee datasets samenvoegen

Voor meer informatie verwijzen wij u naar onze Panda's samenvoegen, samenvoegen en aaneenschakelen zelfstudie

Voor een complete gids over Panda's verwijzen wij u naar onze Panda's-tutorial .

Visualisatie met Matplotlib

Matplotlib is eenvoudig te gebruiken en een geweldige visualisatiebibliotheek in Python. Het is gebouwd op NumPy-arrays en ontworpen om te werken met de bredere SciPy-stack en bestaat uit verschillende plots zoals lijn, staaf, spreiding, histogram, enz.

Pyplot

Pyplot is een Matplotlib-module die een MATLAB-achtige interface biedt. Pyplot biedt functies die interactie hebben met de figuur, d.w.z. een figuur maken, de plot versieren met labels en een plotgebied in een figuur creëren.

Python3
# Python program to show pyplot module import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) plt.axis([0, 6, 0, 20]) plt.show() 

Uitgang:

Staafdiagram

A bar perceel of staafdiagram is een grafiek die de categorie gegevens weergeeft met rechthoekige staven met lengtes en hoogtes die evenredig zijn aan de waarden die ze vertegenwoordigen. De staafdiagrammen kunnen horizontaal of verticaal worden uitgezet. Een staafdiagram beschrijft de vergelijkingen tussen de afzonderlijke categorieën. Het kan worden gemaakt met behulp van de methode bar().

Python Matplotlib-staafdiagram

Hier zullen we alleen de irisdataset gebruiken

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') # This will plot a simple bar chart plt.bar(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Iris Dataset') # Adding the legends plt.legend(['bar']) plt.show() 

Uitgang:

Staafdiagram met behulp van de matplotlib-bibliotheek

Staafdiagram met behulp van de matplotlib-bibliotheek

Histogrammen

A histogram wordt in principe gebruikt om gegevens in de vorm van bepaalde groepen weer te geven. Het is een soort staafdiagram waarbij de X-as de bin-bereiken vertegenwoordigt, terwijl de Y-as informatie geeft over de frequentie. Om een ​​histogram te maken, is de eerste stap het maken van een bak met bereiken, vervolgens het hele bereik van de waarden verdelen in een reeks intervallen, en de waarden tellen die in elk van de intervallen vallen. Bakken worden duidelijk geïdentificeerd als opeenvolgende, niet-overlappende intervallen van variabelen. De geschiedenis() functie wordt gebruikt om een ​​histogram van x te berekenen en te maken.

Python Matplotlib-histogram

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.hist(df['SepalLengthCm']) # Title to the plot plt.title('Histogram') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

Uitgang:

Histplot met behulp van de matplotlib-bibliotheek

Verspreidingsdiagram

Spreidingsdiagrammen worden gebruikt om de relatie tussen variabelen te observeren en gebruiken punten om de relatie daartussen weer te geven. De verstrooien() methode in de matplotlib-bibliotheek wordt gebruikt om een ​​spreidingsdiagram te tekenen.

Python Matplotlib-spreidingsdiagram

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.scatter(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Scatter Plot') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

Uitgang:

Spreidingsplot met behulp van de matplotlib-bibliotheek

Spreidingsplot met behulp van de matplotlib-bibliotheek

Boxplot

A boxplot ,Correlatie, ook wel een box-and-whisker-plot genoemd. Het is een zeer goede visuele weergave als het gaat om het meten van de gegevensverdeling. Geeft duidelijk de mediaanwaarden, uitschieters en kwartielen weer. Het begrijpen van de gegevensdistributie is een andere belangrijke factor die leidt tot een betere modelbouw. Als gegevens uitschieters hebben, is een boxplot een aanbevolen manier om deze te identificeren en de nodige actie te ondernemen. Het doos- en snorharendiagram laat zien hoe de gegevens zijn verspreid. Over het algemeen zijn er vijf stukjes informatie in het diagram opgenomen

  • Het minimum wordt uiterst links op de kaart weergegeven, aan het einde van de linker ‘whisker’
  • Het eerste kwartiel, Q1, is uiterst links van de doos (linker snorhaar)
  • De mediaan wordt weergegeven als een lijn in het midden van de doos
  • Derde kwartiel, Q3, uiterst rechts van het vak weergegeven (rechter bakkebaard)
  • Het maximum bevindt zich uiterst rechts in de doos

Weergave van boxplot

Interkwartielbereik

Interkwartielbereik

Ter illustratie van de boxplot

Ter illustratie van de boxplot

Python Matplotlib Boxplot

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.boxplot(df['SepalWidthCm']) # Title to the plot plt.title('Box Plot') # Adding the legends plt.legend(['SepalWidthCm']) plt.show() 

Uitgang:

Boxplot met behulp van de matplotlib-bibliotheek

Boxplot met behulp van de matplotlib-bibliotheek

Correlatie-heatmaps

Een 2D-heatmap is een hulpmiddel voor gegevensvisualisatie dat helpt de omvang van het fenomeen in de vorm van kleuren weer te geven. Een correlatie-heatmap is een heatmap die een 2D-correlatiematrix toont tussen twee afzonderlijke dimensies, waarbij gebruik wordt gemaakt van gekleurde cellen om gegevens van doorgaans een monochromatische schaal weer te geven. De waarden van de eerste dimensie verschijnen als de rijen van de tabel, terwijl de tweede dimensie een kolom is. De kleur van de cel is evenredig met het aantal metingen dat overeenkomt met de dimensionale waarde. Dit maakt correlatie-heatmaps ideaal voor data-analyse, omdat het patronen gemakkelijk leesbaar maakt en de verschillen en variatie in dezelfde gegevens benadrukt. Een correlatie-heatmap wordt, net als een gewone heatmap, ondersteund door een kleurenbalk waardoor gegevens gemakkelijk leesbaar en begrijpelijk zijn.

Opmerking: De gegevens hier moeten worden doorgegeven met de corr()-methode om een ​​correlatie-heatmap te genereren. Ook elimineert corr() zelf kolommen die van geen nut zijn bij het genereren van een correlatie-heatmap en selecteert de kolommen die wel kunnen worden gebruikt.

Python Matplotlib Correlatie Heatmap

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.imshow(df.corr() , cmap = 'autumn' , interpolation = 'nearest' ) plt.title('Heat Map') plt.show() 

Uitgang:

Heatmap met behulp van de matplotlib-bibliotheek

Heatmap met behulp van de matplotlib-bibliotheek

Raadpleeg onze onderstaande tutorials voor meer informatie over datavisualisatie:

Top Artikelen

Categorie

Interessante Artikelen