logo

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' title=

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' loading='lazy' title=

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' loading='lazy' title=

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' loading='lazy' title=
(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' loading='lazy' title= Duomenų analizė ir vizualizacija naudojant Python' loading='lazy' title= Duomenų analizė ir vizualizacija naudojant Python' loading='lazy' title=

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' loading='lazy' title= Duomenų analizė ir vizualizacija naudojant Python' loading='lazy' title=


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' loading='lazy' title=

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' loading='lazy' title=

Statistinės funkcijos pandose:

registro atmintis

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' loading='lazy' title= Duomenų analizė ir vizualizacija naudojant Python' loading='lazy' title=

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' loading='lazy' title=

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' loading='lazy' title=

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' loading='lazy' title=

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ą