Duomenų analizė ir vizualizacija naudojant Python

Duomenų analizė ir vizualizacija naudojant Python

Python yra plačiai naudojamas kaip duomenų analizės kalba, dėl jos patikimų bibliotekų ir duomenų valdymo įrankių. Tarp šių bibliotekų yra „Pandos“, kurios palengvina duomenų tyrinėjimą ir manipuliavimą bei analizę. naudosime  Pandos  analizuoti duomenų rinkinį, vadinamą  Country-data.csv  iš Kaggle. Dirbdami su šiais duomenimis, mes taip pat pristatome keletą svarbių Pandos sąvokų.

1. Montavimas

Lengviausias būdas įdiegti pandas yra naudoti pip:

Python
   pip   install   pandas   


arba Atsisiųskite jį iš  čia .

2. Duomenų rėmelio kūrimas programoje Pandas

DataFrame  yra į lentelę panaši Pandas duomenų struktūra, kurioje duomenys saugomi eilutėse ir stulpeliuose. DataFrame galima sukurti perduodant kelis python serijos objektus į  DataFrame  klasė ( pd.DataFrame() ) naudodami  pd.Series  metodas. Šiame pavyzdyje naudojami du serijos objektai:  s1  kaip pirmoji eilutė ir  s2  kaip antroji eilė.

1 pavyzdys: DataFrame kūrimas iš serijos:

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  )   

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python

2 pavyzdys: DataFrame iš sąrašo su tinkintu indeksu ir stulpelių pavadinimais:

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

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python

3 pavyzdys: DataFrame iš žodyno:

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

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python

3. Duomenų importavimas naudojant Pandas

Pirmas žingsnis – perskaityti duomenis. Mūsų atveju duomenys saugomi kaip CSV (kableliais atskirtų reikšmių) failas, kuriame kiekviena eilutė atskiriama nauja eilute, o kiekvienas stulpelis – kableliu. Norint dirbti su Python duomenimis, reikia perskaityti csv  failą  į 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   

Išvestis:

galva
 (167 10)  

4. DataFrames indeksavimas naudojant Pandas

Pandos suteikia galingas indeksavimo galimybes. „DataFrames“ galite indeksuoti naudodami abu padėties pagrindu ir etikečių pagrindu metodus.

Padėties indeksavimas (naudojant 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  ]   

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python Duomenų analizė ir vizualizacija naudojant Python Duomenų analizė ir vizualizacija naudojant Python

Indeksavimas etiketėmis (naudojant loc ):

Indeksuoti galima su etiketėmis naudojant  pandas.DataFrame.loc  metodas, leidžiantis indeksuoti naudojant etiketes, o ne pozicijas.

Pavyzdžiai:

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

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python Duomenų analizė ir vizualizacija naudojant Python


Tai, kas išdėstyta aukščiau, nelabai skiriasi nuo df.iloc[0:5:]. Taip yra todėl, kad nors eilučių etiketės gali įgyti bet kokias reikšmes, mūsų eilučių etiketės tiksliai atitinka pozicijas. Tačiau stulpelių etiketės gali palengvinti darbą su duomenimis.

Pavyzdys:

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

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python

5. DataFrame Math su pandomis

„Panda“ leidžia lengviau atlikti matematines operacijas su duomenų rėmeliuose saugomais duomenimis. Veiksmai, kuriuos galima atlikti su pandomis, yra vektorizuoti, tai reiškia, kad jie yra greiti ir automatiškai taikomi visiems elementams nenaudojant kilpų.

Pavyzdys – stulpelių matematika:

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   

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python

Statistinės funkcijos pandose:

Duomenų rėmelių skaičiavimas gali būti atliktas naudojant pandų statistines funkcijas. Galime naudoti tokias funkcijas kaip:

  • df.sum()  → reikšmių suma
  • df.mean()  → vidutinis
  • df.max()  /  df.min()  → max ir min vertės
  • df.describe()  → greita statistikos santrauka
Python
   # computes various summary statistics excluding NaN values   df  .  describe  ()   # Provides sum of all the values for each column   df  .  sum  ()   

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python Duomenų analizė ir vizualizacija naudojant Python

6. Duomenų vizualizacija su Pandas ir Matplotlib

Su pandomis labai paprasta naudotis  Matplotlib galinga biblioteka, naudojama pagrindiniams brėžiniams ir diagramoms kurti. Turėdami tik kelias kodo eilutes, galime vizualizuoti savo duomenis ir juos geriau suprasti. Žemiau pateikiami keli paprasti pavyzdžiai, padėsiantys pradėti braižyti naudojant Pandas ir Matplotlib:

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

Histograma

Histograma rodo reikšmių pasiskirstymą stulpelyje.

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

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python

Dėžės sklypas

dėžutės sklypas  yra naudinga norint aptikti nuokrypius ir suprasti duomenų sklaidą.

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

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python

Sklaidos brėžinys

sklaidos sklypas  parodo ryšį tarp dviejų kintamųjų.

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

Išvestis:

Duomenų analizė ir vizualizacija naudojant Python

Susijęs straipsnis:

  • Pandos įvadas
  • Grafikų braižymas Python
  • Darbas su csv failais Python
  • Pandas DataFrame
  • Įvadas į Matplotlib
  • Histograma – apibrėžimų tipų grafikas ir pavyzdžiai
  • Dėžės sklypas
  • Sklaidos brėžinys


Sukurti viktoriną