2. Sekuencat e të dhënave dhe grafikëve të linjave

Në këtë leksion ne demonstrojmë:

  1. si të lundroni nëpër Jupyter notebook;
  2. si të përfaqësohen sekuencat e të dhënave; dhe
  3. si të vizualizoni sekuencat e të dhënave sipas grafikëve të linjave.

2.1. Më shumë rreth Jupyter notebook

Çdo Jupyter notebook është një sekuencë qelizash, dhe secila qelizë mund të përmbajë disa tekst, një shprehje ose një program Python. Butonat në krye të faqes ju mundësojnë manipulimin e qelizave. Tashmë kemi përdorur butonin Run. Le të shohim se çfarë bëjnë katër butonat e tjerë:

Four buttons

  • Duke klikuar disketën (butoni i parë në të majtë) kursen fletoren.
  • Duke klikuar në + shton një qelizë të re poshtë qelizës aktive. (Një qelizë mund të aktivizohet duke klikuar mbi të; një qelizë aktive është e përshtatur në ***green*** ose blue </ font>. Dallimi midis të dyve nuk ka rëndësi për momentin.)
  • Shigjetat lart e poshtë lëvizin qelizën aktive.

Imagjinoni që, ndërsa lexoni këtë tekst, papritmas ju ndjeni një kërkesë të pashpjegueshme për të vlerësuar $ 1 + \ frac 12 + \ frac 13 + \ frac 14 + \ frac 15 + \ frac 16 + \ frac 17 $. Pastaj duhet të klikoni në këtë qelizë (po, atë që po lexoni për momentin) dhe të klikoni në butonin +. Në qelizën e re që shfaqet më poshtë mund të futni shprehjen dhe Python do ta llogarisë atë për ju:

In [1]:
1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7
Out[1]:
2.5928571428571425

Tetë qelizat e mëposhtme përmbajnë vargjet e para të një rimë të vjershës. Vargjet janë, mjerisht, të ngatërruara. Duke përdorur shigjetat lart dhe poshtë rirregullojnë qelizat për të marrë si duhet rimën.

Once I caught a fish alive,

Then I let it go again.

Which finger did it bite?

Why did you let it go?

Because it bit my finger so.

This little finger on my right.

One, two, three, four, five,

Six, seven, eight, nine, ten,

2.2. Prezantimi i sekuencës së të dhënave

Një sekuencë e të dhënave mund të përfaqësohet si list: rendit numrat brenda kllapave katrore. Për shembull, në disa vende studentët marrin nota si shkronja A, B, C, D dhe ndonjëherë edhe F, ndërsa në vendet e tjera studentët marrin nota si numrat 5, 4, 3, 2 dhe 1. Notat e shprehura si numra janë më të përshtatshëm për analiza e të dhënave, kështu që le të jenë këto notat e një studenti:

In [2]:
marks = [2, 4, 5, 3, 5]

Sistemi nuk prodhon asnjë prodhim, natyrisht. Sapo është regjistruar që variabla marks përmban një listë të numrave të plotë. Le të kontrollojmë që gjithçka është ashtu siç e presim të jetë:

In [3]:
marks
Out[3]:
[2, 4, 5, 3, 5]

Shtë gjithashtu e mundur të formohen listat e strings, si kjo:

In [4]:
subjects = ["Maths", "English", "Art", "History", "PE"]

Le të kontrollojmë, sa për siguri:

In [5]:
subjects
Out[5]:
['Maths', 'English', 'Art', 'History', 'PE']

Funksioni standard len jep përsëri gjatësinë e një liste:The standard function len gives back the length of a list:

In [6]:
len(subjects)
Out[6]:
5

2.3. Visualizimi i sekuencës së të dhënave

Qeliza në vijim përmban të dhënat që përshkruajnë mënyrën e ndryshimit të popullsisë së planetit tonë në mijëvjeçarin e fundit. Numrat në listën e 'population' janë dhënë në billion:

In [7]:
years       = [1000,  1500, 1650, 1750, 1804, 1850, 1900, 1930, 1950, 1960, 1974, 1980, 1987, 1999, 2011, 2020, 2023, 2030, 2037, 2045, 2055, 2100]
population  = [0.275, 0.45, 0.5,  0.7,  1,    1.2,  1.6,  2,    2.55, 3,    4,    4.5,  5,    6,    7,    7.8,  8,    8.5,  9,    9.5,  10,   11.2]

Ne do të dëshironim t'i vizualizonim këto të dhëna sepse ne, njerëzit, i gjejmë të dhënat e paraqitura vizualisht si më tërheqëse.

Ka shumë librari që vijnë me Python që mund të ndihmojnë në vizualizimin e të dhënave dhe ne do të përqendrohemi në atë që quhet matplotlib.pyplot. Emri i librarisë është shumë i gjatë dhe i ndërlikuar, dhe do të duhet t'i referohemi shumë funksioneve prej saj, do të importojmë njëherësh librarinë dhe në të njëjtën kohë do t'i japim një nofkë plt.

In [8]:
import matplotlib.pyplot as plt

Është e rëndësishme të theksohet se një import për notebook mjafton! Prandaj, duhet ta importojmë librarinë një herë dhe ta përdorim gjatë gjithë notebook. Nga ana tjetër, në çdo notebook të ri duhet të importojmë të gjitha libraritë që na duhen, por vetëm një herë në notebook.

Një import për notebook!

Nëse, rastësisht, importoni të njëjtën librari dy herë - pa shqetësime. Python nuk do të ankohet, por gjithashtu nuk do të humbasë kohë dhe burime për të importuar të njëjtën librari dy herë.

Kthehu tek tabelat e vizatuara! Kjo është mënyra më e thjeshtë për të marrë një tabelë:

In [9]:
plt.plot(years, population)
plt.show()
plt.close()

Funksioni plot(years, population) i thotë sistemit se ne duam një grafik ku boshti horizontal ($ x $ -aksia) paraqet numrat e shënuar në years, ndërsa boshti vertikal ($ y $ $ -aksia ) paraqet numrat e shënuar në population Funksioni show atëherë bën vizatimin aktual. Më në fund, funksioni close pastron mbeturinat e mbetura pas gjithë llogaritjeve të nevojshme për të hartuar tabelën.

Të dhënat përfaqësohen nga një rresht. Kjo është arsyeja pse grafikët e tillë quhen grafik vijash.

Nga kjo kohë kemi importuar të gjithë librarinë me nofkën plt, funksionet plot, show dhe close duhet të adresohen duke përdorur si "emrin e tyre" të familjes (librarinë nga vjen) dhe "emrin e parë" : plt.plot,plt.show dhe plt.close.

Më pas, duke përdorur funksionin title, do t'i japim grafikut tonë një titull:

In [10]:
plt.plot(years, population)
plt.title("The population of the Earth")
plt.show()
plt.close()

Ne gjithashtu mund të vendosim një etiketë përgjatë boshtit vertikal për të treguar që numrat që po shfaqim janë në miliarda. Për këtë na duhet funksioni ylabel ("emërtimi mbi $y$-axis"):

In [11]:
plt.plot(years, population)
plt.title("The population of the Earth")
plt.ylabel("(billions)")
plt.show()
plt.close()

Si përfundim: funksionet plot, title dhe ylabelshtojnë elemente të ndryshëm në tabelë, dhe vetëm kur të gjitha elementet janë shtuar në karakter, ne thërrasim funksionin show për të bërë vizatimin aktual. Pas kësaj ne duhet të pastrohemi duke thirrur në funksionin close.

2.4. Ushtrime

Ushtrimi 1. Shikoni kodin e mëposhtëm dhe pastaj përgjigjuni pyetjeve:

In [12]:
import matplotlib.pyplot as plt
plt.plot(years, population)
plt.title("The population of the Earth")
plt.ylabel("(billions)")
plt.show()
plt.close()
  1. Çfarë bën import ... as ..?
  2. Pse duhet të shkruajmë plt.plot, dhe jo thjesht plot?
  3. Çfarë bën plot?
  4. Çfarë bëjnë title dhe ylabel?
  5. Çfarë bëjnë show dhe close?

Ushtrimi 2. Qeliza e mëposhtme përmban të dhëna për peshën dhe gjatësinë e një djali në shtatë vitet e para të jetës së tij.

In [13]:
peroid    = ["6 m", "1.5 y", "2.5 y", "3.5 y", "4.5 y", "5.5 y", "6.5 y"]
weightKG  = [5.9,   11.5,    14.8,    20.5,    22.0,    24.2,    29.0   ]
heightCM  = [62.0,  84.0,    97.0,    115.0,   122.5,   131.5,   135.0  ]

Gjeneroni dy tabela: njëra për të treguar se si pesha e djalit ndryshon me kalimin e kohës, dhe tjetra për të treguar se si lartësia e djalit ndryshon me kalimin e kohës.

Ushtrimi 3. Body mass index, BMI, është sasia e peshës (në kilogramë) të një personi dhe lartësia (në metra) e personit:

$$\hbox{BMI} = \frac{\hbox{pesha në kg}}{(\hbox{gjatësia në metra})^2}$$

Vizualizoni mënyrën e ndryshimit të BMI-së së tij me kalimin e kohës për një djalë nga Ushtrimi 2 . Programi i mëposhtëm Python mund të jetë i dobishëm:

In [14]:
BMI = [0, 0, 0, 0, 0, 0, 0]
for i in range(0, 7):
    BMI[i] = weightKG[i] / (heightCM[i] / 100.0)**2

Ushtrimi 4. Vlerësohet se më 1 korrik 2019 popullsia e Kinës ishte 1,420,062,022. Është vlerësuar gjithashtu se popullsia e Kinës rritet me 0.35% në vit. Vizualizoni popullsinë e Kinës në dhjetë vitet e ardhshme nën supozimin se këto parametra nuk do të ndryshojnë.

In [ ]:

© 2019 Petlja.org Creative Commons License