47 Seeria tükeldamine

Andmete töötlemisel tuleb sageli ette seda, et tervet rida või veergu ei ole vaja analüüsida, soovitakse teha arvutusi vaid näiteks mingile osale veerust. Loome seeria, kus on andmed õpilaste arvude kohta klassis.

andmed = [24, 23, 21, 22, 28, 26, 30, 28, 31, 35, 33, 32, 29, 27, 25, 30, 26, 31, 22]
klassid = ['1a', '1b', '2a', '3a', '3b', '4a', '4b', '5a', '6a', '6b', '7a', '8a', '9a', '10 reaal', '10 sotsiaal', '11 reaal', '11 sotsiaal', '12 reaal', '12 sotsiaal']

opilaste_arv = pd.Series(andmed, index = klassid, name = 'Õpilaste arv klassis')

print(opilaste_arv)
>>> %Run guido.py
  1a         	24
  1b         	23
  2a          	21
  3a         	22
  3b         	28
  4a         	26
  4b         	30
  5a          	28
  6a         	31
  6b         	35
  7a          	33
  8a          	32
  9a         	29
  10 reaal   	27
  10 sotsiaal	25
  11 reaal   	30
  11 sotsiaal	26
  12 reaal   	31
  12 sotsiaal	22
  Name: Õpilaste arv klassis, dtype: int64

Oletame, et meil on vaja eraldada ainult 1. – 4. klass õpilaste arvud. Seda saab teha kahel moel. Esiteks saab kasutada indekseid. Seda saab teha sarnaselt Pythoni järjendi viilutamisele, kus järjendi muutujanime järel lisatakse nurksulgude vahele soovitud vahemiku algusindeks ja lõppindeks (ei ole kaasa arvatud). Indeksid eraldatakse kooloni abil. Näites kasutatud seerias on algindeksiks 0 ja lõppindeks on 7.

klassid_1_4 = opilaste_arv[0:7]

print(klassid_1_4)
>>> %Run guido.py
  1a	 24
  1b	 23
  2a	 21
  3a	 22
  3b	 28
  4a	 26
  4b	 30
  Name: Õpilaste arv klassis, dtype: int64

Teine võimalus on kasutada silte. Sarnaselt eelnevas näites, kus lisasime vastavad indeksid nurksulgude vahele, lisame seekord järjendi, kus elementideks on siltide nimed. Nii on võimalik korraga eraldada andmed erinevate siltide nimega. Loome järjendi, kus elemendid on 1. – 4. klasside sildid ja kasutame seda, sarnaselt eelmisele näitele, nurksulgude vahel.

sildid_1_4 = ['1a', '1b', '2a', '3a', '3b', '4a', '4b']
klassid_1_4 = opilaste_arv[sildid_1_4]

print(klassid_1_4)
>>> %Run guido.py
  1a	  24
  1b	  23
  2a	  21
  3a	  22
  3b	  28
  4a	  26
  4b	  30
  Name: Õpilaste arv klassis, dtype: int64

Tulemus tuleb mõlemal juhul täpselt sama.

Litsents

Icon for the Creative Commons Attribution 4.0 International License

Tarkvaraarendus. 2. trükk on loodud Eno Tõnisson, Tauno Palts, Kaarel Tõnisson, Heidi Meier, Merilin Säde, Ago Luberg, Birgy Lorenz, Einar Kivisalu, Meelis Antoi, ja Säde Mai Krusberg poolt Creative Commons Attribution 4.0 International License litsentsi alusel, kui pole teisiti märgitud.

Jaga seda raamatut