Dataanalyse med Python

I denne artikel vil vi diskutere, hvordan man laver dataanalyse med Python. Vi vil diskutere alle former for dataanalyse, dvs. at analysere numeriske data med NumPy, tabeldata med Pandas, datavisualisering Matplotlib og Exploratory dataanalyse.

Dataanalyse med Python

Dataanalyse er teknikken til at indsamle, transformere og organisere data for at foretage fremtidige forudsigelser og informerede datadrevne beslutninger. Det hjælper også med at finde mulige løsninger på et forretningsproblem. Der er seks trin til dataanalyse. De er:

  • Spørg eller specificer datakrav
  • Forbered eller indsamle data
  • Rengør og bearbejd
  • Analysere
  • Del
  • Handle eller berette

Dataanalyse med Python



Bemærk: For at vide mere om disse trin henvises til vores NumPy er en array-behandlingspakke i Python og giver et højtydende multidimensionalt array-objekt og værktøjer til at arbejde med disse arrays. Det er den grundlæggende pakke til videnskabelig databehandling med Python.

Arrays i NumPy

NumPy Array er en tabel med elementer (normalt tal), alle af de samme typer, indekseret med en tupel af positive heltal. I Numpy kaldes antallet af dimensioner af arrayet rækken af ​​arrayet. En tuple af heltal, der angiver størrelsen af ​​arrayet langs hver dimension, er kendt som formen på arrayet.

Oprettelse af NumPy Array

NumPy-arrays kan oprettes på flere måder med forskellige rækker. Det kan også oprettes ved brug af forskellige datatyper som lister, tupler osv. Typen af ​​det resulterende array udledes af typen af ​​elementer i sekvenserne. NumPy tilbyder flere funktioner til at skabe arrays med indledende pladsholderindhold. Disse minimerer nødvendigheden af ​​at dyrke arrays, en dyr operation.

Opret Array ved hjælp af numpy.empty(shape, 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) 

Produktion:

Tøm Matrix ved hjælp af pandaer

Tøm Matrix ved hjælp af pandaer

Opret Array ved hjælp af numpy.zeros(form, dtype = Ingen, rækkefølge = '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) 

Produktion:

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

Operationer på Numpy Arrays

Aritmetiske operationer

  • Tilføjelse:
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) 

Produktion:

[ 7 77 23 130] [ 7 77 23 130] [ 8 79 26 134] [ 7 77 23 130] 
  • Subtraktion:
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) 

Produktion:

[ 3 67 3 70] [ 3 67 3 70] 
  • Multiplikation:
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) 

Produktion:

[ 10 360 130 3000] [ 10 360 130 3000] 
  • Division:
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) 

Produktion:

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

For mere information, se vores NumPy – Selvstudie om aritmetiske operationer

NumPy Array-indeksering

Indeksering kan gøres i NumPy ved at bruge et array som et indeks. I tilfælde af udsnittet returneres en visning eller lavvandet kopi af arrayet, men i indeksarrayet returneres en kopi af det originale array. Numpy-arrays kan indekseres med andre arrays eller enhver anden sekvens med undtagelse af tupler. Det sidste element indekseres med -1 næstsidst med -2 ​​og så videre.

Python NumPy Array-indeksering

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) 

Produktion:

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

NumPy Array Slicing

Overvej syntaksen x[obj], hvor x er arrayet og obj er indekset. Skiveobjektet er indekset i tilfælde af grundlæggende udskæring . Grundlæggende udskæring sker, når obj er:

  • et udsnitsobjekt, der har formen start: stop: trin
  • et heltal
  • eller en tuple af skiveobjekter og heltal

Alle arrays genereret af grundlæggende udskæring er altid visningen i det originale 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:]) 

Produktion:

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 også bruges sammen med grundlæggende udskæring. Ellipsis (…) er antallet af : objekter, der er nødvendige for at lave en udvælgelses-tupel af samme længde som dimensionerne af arrayet.

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 ] 

Produktion:

[[ 2 5]  [ 8 11]] 

NumPy Array Broadcasting

Begrebet udsendelse henviser til, hvordan numpy behandler arrays med forskellige dimensioner under aritmetiske operationer, som fører til visse begrænsninger, det mindre array udsendes på tværs af det større array, så de har kompatible former.

Lad os antage, at vi har et stort datasæt, hvert datum er en liste over parametre. I Numpy har vi et 2-D-array, hvor hver række er et datum, og antallet af rækker er størrelsen af ​​datasættet. Antag, at vi ønsker at anvende en form for skalering på alle disse data, hver parameter får sin egen skaleringsfaktor eller sig, at hver parameter multipliceres med en eller anden faktor.

Bare for at have en klar forståelse, lad os tælle kalorier i fødevarer ved hjælp af en makronæringsstofnedbrydning. Groft sagt er de kalorieholdige dele af mad lavet af fedt (9 kalorier pr. gram), protein (4 CPG) og kulhydrater (4 CPG). Så hvis vi lister nogle fødevarer (vores data), og for hver fødevareliste dens makronæringsstofnedbrydning (parametre), kan vi derefter gange hvert næringsstof med dets kalorieværdi (anvend skalering) for at beregne kaloriefordelingen af ​​hver fødevare.

NumPy Array Broadcasting

Med denne transformation kan vi nu beregne alle slags nyttige oplysninger. For eksempel, hvad er det samlede antal kalorier til stede i noget mad eller, givet en opdeling af min aftensmad, ved, hvor mange kalorier jeg fik fra protein og så videre.

Lad os se en naiv måde at producere denne beregning på med Numpy:

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 

Produktion:

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

Udsendelsesregler: Udsendelse af to arrays sammen følger disse regler:

  • Hvis arrayerne ikke har den samme rangorden, skal du sætte formen på den lavere rangliste med 1'ere, indtil begge figurer har samme længde.
  • De to arrays er kompatible i en dimension, hvis de har samme størrelse i dimensionen, eller hvis et af arrays har størrelse 1 i den dimension.
  • Arrays kan udsendes sammen, hvis de er kompatible med alle dimensioner.
  • Efter udsendelse opfører hvert array sig, som om det havde en form svarende til det elementmæssige maksimum af former for de to input-arrays.
  • I enhver dimension, hvor et array havde en størrelse på 1, og det andet array havde en størrelse større end 1, opfører det første array sig, som om det var kopieret langs denne dimension.
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) 

Produktion:

[[ 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]] 

Bemærk: For mere information, se vores Python NumPy Tutorial .

Analyse af data ved hjælp af pandaer

Python Pandas Bruges til relationelle eller mærkede data og giver forskellige datastrukturer til at manipulere sådanne data og tidsserier. Dette bibliotek er bygget oven på NumPy-biblioteket. Dette modul importeres generelt som:

import pandas as pd 

Her omtales pd som et alias til pandaerne. Det er dog ikke nødvendigt at importere biblioteket ved hjælp af aliaset, det hjælper bare med at skrive mindre mængdekode hver gang en metode eller egenskab kaldes. Pandaer leverer generelt to datastrukturer til at manipulere data, de er:

  • Serie
  • Dataramme

Serie:

Panda-serien er et endimensionelt mærket array, der er i stand til at indeholde data af enhver type (heltal, streng, float, pythonobjekter osv.). Aksemærkaterne kaldes tilsammen indekser. Pandas-serien er intet andet end en spalte i et excel-ark. Etiketter behøver ikke være unikke, men skal være en hashbar type. Objektet understøtter både heltals- og etiketbaseret indeksering og giver et væld af metoder til at udføre operationer, der involverer indekset.

Panda-serien

Det kan oprettes ved hjælp af Series()-funktionen ved at indlæse datasættet fra det eksisterende lager som SQL, Database, CSV-filer, Excel-filer osv., eller fra datastrukturer som lister, ordbøger osv.

Python Pandas Creating 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) 

Produktion:

pandas serie

pandas serie

Dataramme:

Pandas DataFrame er en todimensionel størrelse-muterbar, potentielt heterogen tabelformet datastruktur med mærkede akser (rækker og kolonner). En dataramme er en todimensionel datastruktur, dvs. data er justeret i tabelform i rækker og kolonner. Pandas DataFrame består af tre hovedkomponenter, data, rækker og kolonner.

Pandas dataramme

Det kan oprettes ved hjælp af Dataframe() metoden og ligesom en serie kan det også være fra forskellige filtyper og datastrukturer.

Python Pandas skaber dataramme

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 

Produktion:

Oprettelse af dataramme fra liste

Oprettelse af dataramme fra python-liste

Oprettelse af dataramme fra CSV

Vi kan oprette en dataramme fra CSV'en filer ved hjælp af read_csv() fungere.

Python Pandas læste CSV

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

Produktion:

leder af en dataramme

leder af en dataramme

Filtrering af DataFrame

Pandaer dataframe.filter() funktionen bruges til at undersætte rækker eller kolonner af dataramme i henhold til etiketter i det angivne indeks. Bemærk, at denne rutine ikke filtrerer en dataramme på dens indhold. Filteret anvendes på indeksets etiketter.

Python Pandas filterdataramme

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

Produktion:

Anvender filter på datasæt

Anvender filter på datasæt

Sortering af DataFrame

For at sortere datarammen i pandaer skal funktionen sort_værdier() anvendes. Pandas sort_values() kan sortere datarammen i stigende eller faldende rækkefølge.

Python Pandas sortering af dataramme i stigende rækkefølge

Produktion:

Sorteret datasæt baseret på en kolonneværdi

Sorteret datasæt baseret på en kolonneværdi

Pandas GroupBy

Groupby er et ret simpelt koncept. Vi kan oprette en gruppering af kategorier og anvende en funktion på kategorierne. I rigtige data science-projekter vil du beskæftige dig med store mængder data og prøve ting igen og igen, så for effektiviteten bruger vi Groupby-konceptet. Groupby refererer hovedsageligt til en proces, der involverer et eller flere af følgende trin, de er:

  • Opdeling: Det er en proces, hvor vi opdeler data i grupper ved at anvende nogle betingelser på datasæt.
  • Ansøger: Det er en proces, hvor vi anvender en funktion til hver gruppe selvstændigt.
  • Ved at kombinere: Det er en proces, hvor vi kombinerer forskellige datasæt efter at have anvendt groupby og resultater til en datastruktur.

Følgende billede vil hjælpe med at forstå processen involveret i Groupby-konceptet.

1. Gruppér de unikke værdier fra kolonnen Team

Pandas Groupby metode

2. Nu er der en spand til hver gruppe

3. Smid de andre data i bøttene

Pandas GroupBy

4. Anvend en funktion på vægtkolonnen på hver spand.

Anvendelse af funktion på vægtkolonnen i hver kolonne

Python Pandas 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() 

Produktion:

pandas gruppeby

pandas gruppeby

Anvendelse af funktion til gruppe:

Efter at have opdelt en data i en gruppe, anvender vi en funktion til hver gruppe for at gøre, at vi udfører nogle operationer, de er:

  • Aggregation: Det er en proces, hvor vi beregner en sammenfattende statistik (eller statistik) om hver gruppe. For eksempel, Beregn gruppesummer eller middel
  • Transformation: Det er en proces, hvor vi udfører nogle gruppespecifikke beregninger og returnerer en like-indekseret. For eksempel udfyldning af NA'er inden for grupper med en værdi afledt af hver gruppe
  • Filtrering: Det er en proces, hvor vi kasserer nogle grupper, ifølge en gruppevis beregning, der evaluerer Sandt eller Falsk. For eksempel frafiltrering af data baseret på gruppesum eller gennemsnit

Panda Aggregation

Aggregation er en proces, hvor vi beregner en opsummerende statistik om hver gruppe. Den aggregerede funktion returnerer en enkelt aggregeret værdi for hver gruppe. Efter at have opdelt data i grupper ved hjælp af groupby-funktion, kan flere aggregeringsoperationer udføres på de grupperede data.

Python Pandas Aggregation

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) 

Produktion:

Brug af sum aggregat funktion på datasæt

Brug af sum aggregat funktion på datasæt

Sammenkædning af DataFrame

For at sammenkæde datarammen bruger vi concat() funktion, som hjælper med at sammenkæde datarammen. Denne funktion udfører alt det tunge løft ved at udføre sammenkædningsoperationer sammen med en akse af Pandas-objekter, mens den udfører valgfri sætlogik (forening eller skæring) af indekserne (hvis nogen) på de andre akser.

Python Pandas Sammenkædning af dataramme

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 

Produktion:

Sammenlægning af DataFrame

Når vi skal kombinere meget store DataFrames, tjener joinforbindelser som en effektiv måde at udføre disse operationer hurtigt. Joins kan kun udføres på to DataFrames ad gangen, angivet som venstre og højre tabeller. Nøglen er den fælles kolonne, som de to DataFrames vil blive forbundet på. Det er en god praksis at bruge nøgler, der har unikke værdier i hele kolonnen for at undgå utilsigtet duplikering af rækkeværdier. Pandaer har en enkelt funktion, fusionere() , som indgangspunkt for alle standarddatabasesammenføjningsoperationer mellem DataFrame-objekter.

Der er fire grundlæggende måder at håndtere joinforbindelsen på (indre, venstre, højre og ydre), afhængigt af hvilke rækker der skal beholde deres data.

Flet Daframe Python Pandas

Python Pandas Merge Dataframe

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 

Produktion:

Sammenkædning af to datasæt

Sammenkædning af to datasæt

Deltager i DataFrame

For at tilslutte os datarammen bruger vi .tilslutte() funktion denne funktion bruges til at kombinere kolonnerne af to potentielt forskelligt indekserede DataFrames til en enkelt resultat DataFrame.

Python Pandas Join 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 

Produktion:

Sammenføjning af to datasæt

For mere information, se vores Pandaer, der fusionerer, sammenføjer og sammenkæder tutorial

For en komplet vejledning om pandaer henvises til vores Tutorial for pandaer .

Visualisering med Matplotlib

Matplotlib er let at bruge og et fantastisk visualiseringsbibliotek i Python. Den er bygget på NumPy-arrays og designet til at arbejde med den bredere SciPy-stak og består af flere plots som linje, streg, scatter, histogram osv.

Pyplot

Pyplot er et Matplotlib-modul, der giver en MATLAB-lignende grænseflade. Pyplot giver funktioner, der interagerer med figuren, dvs. skaber en figur, dekorerer plottet med etiketter og opretter et plotteområde i en figur.

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() 

Produktion:

Søjlediagram

EN bar grund eller søjlediagram er en graf, der repræsenterer kategorien af ​​data med rektangulære søjler med længder og højder, der er proportional med de værdier, de repræsenterer. Søjleplottene kan plottes vandret eller lodret. Et søjlediagram beskriver sammenligningerne mellem de diskrete kategorier. Det kan oprettes ved hjælp af bar() metoden.

Python Matplotlib søjlediagram

Her vil vi kun bruge iris-datasættet

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() 

Produktion:

Søjlediagram ved hjælp af matplotlib-bibliotek

Søjlediagram ved hjælp af matplotlib-bibliotek

Histogrammer

EN histogram bruges grundlæggende til at repræsentere data i form af nogle grupper. Det er en type søjleplot, hvor X-aksen repræsenterer bin-områderne, mens Y-aksen giver information om frekvens. For at oprette et histogram er det første trin at oprette en bin med intervallerne, derefter fordele hele intervallet af værdierne i en række intervaller og tælle de værdier, der falder ind i hvert af intervallerne. Bins er tydeligt identificeret som konsekutive, ikke-overlappende intervaller af variable. Det hist() funktion bruges til at beregne og skabe et histogram af x.

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() 

Produktion:

Histplot ved hjælp af matplotlib-bibliotek

Scatter Plot

Scatterplot bruges til at observere forholdet mellem variabler og bruger prikker til at repræsentere forholdet mellem dem. Det sprede() metoden i matplotlib-biblioteket bruges til at tegne et scatterplot.

Python Matplotlib Scatter Plot

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() 

Produktion:

Scatter-plot ved hjælp af matplotlib-bibliotek

Scatter-plot ved hjælp af matplotlib-bibliotek

Box Plot

EN boxplot ,Korrelation også kendt som et boks- og whiskerplot. Det er en meget god visuel repræsentation, når det kommer til at måle datafordelingen. Plot tydeligt medianværdierne, outliers og kvartilerne. Forståelse af datadistribution er en anden vigtig faktor, som fører til bedre modelbygning. Hvis data har outliers, er boksplot en anbefalet måde at identificere dem og tage nødvendige handlinger. Boksen og whiskers-diagrammet viser, hvordan data er spredt ud. Fem oplysninger er generelt inkluderet i diagrammet

  • Minimum er vist yderst til venstre i diagrammet, i slutningen af ​​venstre 'whisker'
  • Første kvartil, Q1, er yderst til venstre i boksen (venstre knurhår)
  • Medianen vises som en linje i midten af ​​boksen
  • Tredje kvartil, Q3, vist yderst til højre i boksen (højre knurhår)
  • Maksimum er yderst til højre i boksen

Repræsentation af boksplot

Interkvartilinterval

Interkvartilinterval

Illustrerende boksplot

Illustrerende boksplot

Python Matplotlib Box Plot

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() 

Produktion:

Boxplot ved hjælp af matplotlib-bibliotek

Boxplot ved hjælp af matplotlib-bibliotek

Korrelation Heatmaps

Et 2-D Heatmap er et datavisualiseringsværktøj, der hjælper med at repræsentere størrelsen af ​​fænomenet i form af farver. Et korrelationsvarmekort er et varmekort, der viser en 2D-korrelationsmatrix mellem to diskrete dimensioner, ved hjælp af farvede celler til at repræsentere data fra normalt en monokromatisk skala. Værdierne for den første dimension vises som rækkerne i tabellen, mens den anden dimension er en kolonne. Cellens farve er proportional med antallet af målinger, der matcher dimensionsværdien. Dette gør korrelationsvarmekort ideelle til dataanalyse, da det gør mønstre let læsbare og fremhæver forskellene og variationen i de samme data. Et korrelationsvarmekort er ligesom et almindeligt varmekort assisteret af en farvelinje, der gør data let læselige og forståelige.

Bemærk: Dataene her skal sendes med corr()-metoden for at generere et korrelationsvarmekort. Corr() eliminerer også selv kolonner, der ikke vil være til nogen nytte, mens der genereres et korrelationsvarmekort, og vælger dem, der kan bruges.

Python Matplotlib Correlation 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() 

Produktion:

Heatmap ved hjælp af matplotlib-bibliotek

Heatmap ved hjælp af matplotlib-bibliotek

For mere information om datavisualisering henvises til vores nedenstående tutorials –

Top Artikler

Kategori

Interessante Artikler