Dataanalys och visualisering med Python

Dataanalys och visualisering med Python

Python används ofta som ett dataanalysspråk på grund av dess robusta bibliotek och verktyg för att hantera data. Bland dessa bibliotek finns Pandas som gör enklare datautforskning manipulation och analys. vi kommer att använda  Pandas  att analysera en datauppsättning som kallas  Country-data.csv  från Kaggle. När vi arbetar med denna data introducerar vi också några viktiga begrepp i Pandas.

1. Installation

Det enklaste sättet att installera pandor är att använda pip:

Python
   pip   install   pandas   


eller ladda ner den från  här .

2. Skapa en dataram i Pandas

DataFrame  är en tabellliknande datastruktur i Pandas som har data lagrad i rader och kolumner. En DataFrame kan skapas genom att skicka flera objekt i python-serien till  DataFrame  klass ( pd.DataFrame() ) med hjälp av  pd.Series  metod. I det här exemplet används två serieobjekt:  s1  som första raden och  s2  som andra raden.

Exempel 1: Skapa DataFrame från serier:

Python
   import   pandas   as   pd   # Creating two Series: s1 (numbers) and s2 (names)   s1   =   pd  .  Series  ([  1     2  ])   s2   =   pd  .  Series  ([  'Ashish'     'Sid'  ])   # Creating DataFrame by combining Series as rows   dataframe   =   pd  .  DataFrame  ([  s1     s2  ])   # Displaying the DataFrame   print  (  dataframe  )   

Produktion:

Dataanalys och visualisering med Python

Exempel 2: DataFrame från en lista med anpassade index- och kolumnnamn:

Python
   dataframe1   =   pd  .  DataFrame  ([[  1     2  ]   [  'Ashish'     'Sid'  ]]   index  =  [  'r1'     'r2'  ]   columns  =  [  'c1'     'c2'  ])   print  (  dataframe1  )   

Produktion:

Dataanalys och visualisering med Python

Exempel 3: DataFrame från en ordbok:

Python
   dataframe2   =   pd  .  DataFrame  ({   'c1'  :   [  1     'Ashish'  ]   'c2'  :   [  2     'Sid'  ]   })   print  (  dataframe2  )   

Produktion:

Dataanalys och visualisering med Python

3. Importera data med pandor

Det första steget är att läsa data. I vårt fall lagras data som en CSV-fil (Comma-Separated Values) där varje rad separeras med en ny rad och varje kolumn med kommatecken. För att kunna arbeta med data i Python krävs att man läser csv  fil  till en Pandas DataFrame.

Python
   import   pandas   as   pd   # Read Country-data.csv into a DataFrame   df   =   pd  .  read_csv  (  'Country-data.csv'  )   # Prints the first 5 rows of a DataFrame as default   df  .  head  ()   # Prints no. of rows and columns of a DataFrame   df  .  shape   

Produktion:

huvud
 (167 10)  

4. Indexering av dataramar med pandor

Pandas ger kraftfulla indexeringsmöjligheter. Du kan indexera DataFrames med båda positionsbaserad och etikettbaserad metoder.

Positionsbaserad indexering (med iloc ):

Python
   # prints first 5 rows and every column which replicates df.head()   df  .  iloc  [  0  :  5  :]   # prints entire rows and columns   df  .  iloc  [::]   # prints from 5th rows and first 5 columns   df  .  iloc  [  5  ::  5  ]   

Produktion:

Dataanalys och visualisering med Python Dataanalys och visualisering med Python Dataanalys och visualisering med Python

Etikettbaserad indexering (med loc ):

Indexering kan utföras med etiketter med hjälp av  pandas.DataFrame.loc  metod som gör det möjligt att indexera med etiketter istället för positioner.

Exempel:

Python
   # prints first five rows including 5th index and every columns of df   df  .  loc  [  0  :  5  :]   # prints from 5th rows onwards and entire columns   df  .  loc  [  5  ::]   

Produktion:

Dataanalys och visualisering med Python Dataanalys och visualisering med Python


Ovanstående ser faktiskt inte mycket annorlunda ut från df.iloc[0:5:]. Detta beror på att även om radetiketter kan anta alla värden så matchar våra radetiketter positionerna exakt. Men kolumnetiketter kan göra saker mycket enklare när du arbetar med data.

Exempel:

Python
   # Prints the first 5 rows of Time period   # value    df  .  loc  [:  5    'child_mort'  ]   

Produktion:

Dataanalys och visualisering med Python

5. DataFrame Math med pandor

Pandas gör det enklare att utföra matematiska operationer på data som lagras i dataramar. Operationerna som kan utföras på pandor är vektoriserade vilket betyder att de är snabba och tillämpas automatiskt på alla element utan att använda loopar.

Exempel - Kolumnvis matematik:

Python
   # Adding 5 to every element in column A   df  [  'child_mort'  ]   =   df  [  'child_mort'  ]   +   5   # Multiplying values in column B by 10   df  [  'exports'  ]   =   df  [  'exports'  ]   *   10   df   

Produktion:

Dataanalys och visualisering med Python

Statistiska funktioner i pandor:

Beräkning av dataramar kan göras med hjälp av statistiska funktioner för pandas verktyg. Vi kan använda funktioner som:

  • df.sum()  → summan av värden
  • df.mean()  → medel
  • df.max()  /  df.min()  → max- och minvärden
  • df.describe()  → snabb statistiksammanfattning
Python
   # computes various summary statistics excluding NaN values   df  .  describe  ()   # Provides sum of all the values for each column   df  .  sum  ()   

Produktion:

Dataanalys och visualisering med Python Dataanalys och visualisering med Python

6. Datavisualisering med Pandas och Matplotlib

Pandas är väldigt lätta att använda med  Matplotlib ett kraftfullt bibliotek som används för att skapa grundläggande plotter och diagram. Med bara några rader kod kan vi visualisera vår data och förstå den bättre. Nedan följer några enkla exempel som hjälper dig att komma igång med att plotta med Pandas och Matplotlib:

Python
   # Import the library first   import   matplotlib.pyplot   as   plt   

Histogram

Ett histogram visar fördelningen av värden i en kolumn.

Python
   df  [  'income'  ]  .  hist  (  bins  =  10  )   plt  .  title  (  'Histogram of Income'  )   plt  .  xlabel  (  'Income Value'  )   plt  .  ylabel  (  'Frequency'  )   plt  .  show  ()   

Produktion:

Dataanalys och visualisering med Python

Box Plot

box tomt  är användbart för att upptäcka extremvärden och förstå dataspridning.

Python
   df   =   df  .  head  (  10  )   plt  .  figure  (  figsize  =  (  20     6  ))   # Increase width to make x-axis labels clearer   df  .  boxplot  (  column  =  'imports'     by  =  'country'  )   plt  .  title  (  'Boxplot by Country'  )   plt  .  suptitle  (  ''  )   # Removes default title   plt  .  xlabel  (  'Country'  )   plt  .  ylabel  (  'Imports'  )   plt  .  xticks  (  rotation  =  45  )   # Optional: Rotate x-axis labels for better visibility   plt  .  tight_layout  ()   # Adjust layout to avoid clipping   plt  .  show  ()   

Produktion:

Dataanalys och visualisering med Python

Scatter Plot

spridningsdiagram  visar sambandet mellan två variabler.

Python
   x   =   df  [  'health'  ]   y   =   df  [  'life_expec'  ]   plt  .  scatter  (  x     y     label  =  'Data Points'     color  =  'm'     marker  =  '*'     s  =  30  )   plt  .  xlabel  (  'Health'  )   plt  .  ylabel  (  'Life Expectancy'  )   plt  .  title  (  'Scatter Plot of Health vs Life Expectancy'  )   plt  .  legend  ()   plt  .  show  ()   

Produktion:

Dataanalys och visualisering med Python

Relaterad artikel:

  • Pandas Introduktion
  • Grafritning i Python
  • Arbeta med csv-filer i Python
  • Pandas DataFrame
  • Introduktion till Matplotlib
  • Histogram - Definitionstyper Graf och exempel
  • Box Plot
  • Scatter Plot


Skapa frågesport