kais@praktika1 ~/public_html/DHtehnoloogiad/pandas $ python3.5
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> morfo = pd.read_csv("A2morfo.csv")
>>> morfo.head()
Sõna;Liik ja vorm;Tüvi
0 Tere;I;tere+0
1 Mari;S.prop.sg.nom;Mari+0
2 !;Z.Exc;!
3 Kuidas;D;kuidas+0
4 sul;P.sg.ad;sina+l
#Kuna eraldaja polnud koma, tuli see eraldi defineerida.
>>> morfo = pd.read_csv("A2morfo.csv", sep = ';')
>>> morfo.head()
Sõna Liik ja vorm Tüvi
0 Tere I tere+0
1 Mari S.prop.sg.nom Mari+0
2 ! Z.Exc !
3 Kuidas D kuidas+0
4 sul P.sg.ad sina+l
>>> morfo.tail()
Sõna Liik ja vorm Tüvi
77 varsti D varsti+0
78 ! Z.Exc !
79 Sinu P.sg.gen sina+0
80 parim A.super.sg.nom parim+0
81 sõber S.com.sg.nom sõber+0
>>> morfo
Sõna Liik ja vorm Tüvi
0 Tere I tere+0
1 Mari S.prop.sg.nom Mari+0
2 ! Z.Exc !
3 Kuidas D kuidas+0
4 sul P.sg.ad sina+l
5 läheb V.main.indic.pres.ps3.sg.ps.af mine+b
6 ? Z.Int ?
7 Ma P.sg.nom mina+0
8 loodan V.main.indic.pres.ps1.sg.ps.af loot+n
9 et J.sub et+0
10 kõik P.sg.nom kƵik+0
11 on V.main.indic.pres.ps3.sg.ps.af ole+0
12 hästi D hƤsti+0
13 ! Z.Exc !
14 Suvel S.com.sg.ad suvi+l
15 ma P.sg.nom mina+0
16 puhkan V.main.indic.pres.ps1.sg.ps.af
17 ja J.crd ja+0
18 ma P.sg.nom mina+0
19 tahan V.main.indic.pres.ps1.sg.ps.af taht+n
20 minna V.main.inf mine+a
21 Hispaaniasse S.prop.sg.ill
22 ! Z.Exc !
23 Madrid S.com.pl.nom
24 on V.main.indic.pres.ps3.pl.ps.af ole+0
25 väga D väga+0
26 ilus A.pos.sg.nom ilus+0
27 linn S.com.sg.nom linn+0
28 ja J.crd ja+0
29 ilm S.com.sg.nom ilm+0
.. ... ... ...
52 meres S.com.sg.in meri+s
53 ja J.crd ja+0
54 matkama V.main.sup.ps.ill matka+ma
55 ! Z.Exc !
56 Kas D kas+0
57 sul P.sg.ad sina+l
58 on V.main.indic.pres.ps3.sg.ps.af ole+0
59 vaba A.pos.sg.part vaba+0
60 aega S.com.sg.part aeg+0
61 Juulis S.com.sg.in juuli+s
62 ? Z.Int ?
63 Kas D kas+0
64 sa P.sg.nom sina+0
65 tahad V.main.indic.pres.ps2.sg.ps.af taht+d
66 tulla V.main.inf tule+a
67 minuga P.sg.kom mina+ga
68 ? Z.Int ?
69 Ma P.sg.nom mina+0
70 igatsesin V.main.indic.impf.ps1.sg.ps.af igatse+sin
71 sind P.sg.part sina+d
72 ja J.crd ja+0
73 ma P.sg.nom mina+0
74 loodan V.main.indic.pres.ps1.sg.ps.af loot+n
75 et J.sub et+0
76 näeme V.main.indic.pres.ps1.pl.ps.af näge+me
77 varsti D varsti+0
78 ! Z.Exc !
79 Sinu P.sg.gen sina+0
80 parim A.super.sg.nom parim+0
81 sõber S.com.sg.nom sõber+0
[82 rows x 3 columns]
#Sõnade järgi tähestikuliselt sortimine:
>>> morfo.sort_values(by="Sõna").head()
Sõna Liik ja vorm Tüvi
13 ! Z.Exc !
22 ! Z.Exc !
2 ! Z.Exc !
48 ! Z.Exc !
55 ! Z.Exc !
>>> morfo.sort_values(by="Sõna")
Sõna Liik ja vorm Tüvi
13 ! Z.Exc !
22 ! Z.Exc !
2 ! Z.Exc !
48 ! Z.Exc !
55 ! Z.Exc !
78 ! Z.Exc !
40 . Z.Fst .
34 . Z.Fst .
68 ? Z.Int ?
62 ? Z.Int ?
6 ? Z.Int ?
21 Hispaaniasse S.prop.sg.ill
38 Juuli S.com.sg.gen juuli+0
61 Juulis S.com.sg.in juuli+s
46 Juulis S.com.sg.in juuli+s
63 Kas D kas+0
56 Kas D kas+0
3 Kuidas D kuidas+0
7 Ma P.sg.nom mina+0
35 Ma P.sg.nom mina+0
69 Ma P.sg.nom mina+0
49 Ma P.sg.nom mina+0
23 Madrid S.com.pl.nom
1 Mari S.prop.sg.nom Mari+0
41 See P.sg.nom see+0
79 Sinu P.sg.gen sina+0
14 Suvel S.com.sg.ad suvi+l
0 Tere I tere+0
60 aega S.com.sg.part aeg+0
31 alati D alati+0
.. ... ... ...
18 ma P.sg.nom mina+0
54 matkama V.main.sup.ps.ill matka+ma
52 meres S.com.sg.in meri+s
20 minna V.main.inf mine+a
67 minuga P.sg.kom mina+ga
76 näeme V.main.indic.pres.ps1.pl.ps.af näge+me
42 on V.main.indic.pres.ps3.sg.ps.af ole+0
24 on V.main.indic.pres.ps3.pl.ps.af ole+0
11 on V.main.indic.pres.ps3.sg.ps.af ole+0
58 on V.main.indic.pres.ps3.sg.ps.af ole+0
30 on V.main.indic.pres.ps3.sg.ps.af ole+0
80 parim A.super.sg.nom parim+0
16 puhkan V.main.indic.pres.ps1.sg.ps.af
43 päikseline A.pos.sg.nom
64 sa P.sg.nom sina+0
47 seal D seal+0
71 sind P.sg.part sina+d
45 soe A.pos.sg.nom soe+0
4 sul P.sg.ad sina+l
57 sul P.sg.ad sina+l
81 sõber S.com.sg.nom sõber+0
65 tahad V.main.indic.pres.ps2.sg.ps.af taht+d
36 tahan V.main.indic.pres.ps1.sg.ps.af taht+n
19 tahan V.main.indic.pres.ps1.sg.ps.af taht+n
66 tulla V.main.inf tule+a
51 ujuma V.main.sup.ps.ill uju+ma
59 vaba A.pos.sg.part vaba+0
77 varsti D varsti+0
25 väga D väga+0
32 väga D väga+0
[82 rows x 3 columns]
#Sortimine morfomärgendi järgi:
>>> morfo.sort_values(by="Liik ja vorm").head(10)
Sõna Liik ja vorm Tüvi
43 päikseline A.pos.sg.nom
45 soe A.pos.sg.nom soe+0
33 hea A.pos.sg.nom hea+0
26 ilus A.pos.sg.nom ilus+0
59 vaba A.pos.sg.part vaba+0
80 parim A.super.sg.nom parim+0
77 varsti D varsti+0
3 Kuidas D kuidas+0
47 seal D seal+0
32 väga D väga+0
#Sõnad järjestatuna morfomärgendi järgi ja loendi kujul:
>>> morfo.sort_values(by="Liik ja vorm").Sõna.values.tolist()
['päikseline', 'soe', 'hea', 'ilus', 'vaba', 'parim', 'varsti', 'Kuidas', 'seal', 'väga', 'alati', 'Kas', 'väga', 'hästi', 'Kas', 'Tere', 'ja', 'ja', 'ja', 'ja', 'ja', 'et', 'et', 'sul', 'sul', 'Sinu', 'minuga', 'Ma', 'See', 'ma', 'ma', 'Ma', 'Ma', 'ma', 'Ma', 'kõik', 'sa', 'sind', 'Madrid', 'Suvel', 'Juuli', 'meres', 'Juulis', 'Juulis', 'sõber', 'algus', 'ilm', 'linn', 'aega', 'Hispaaniasse', 'Mari', 'igatsesin', 'näeme', 'tahan', 'puhkan', 'lähen', 'loodan', 'loodan', 'tahan', 'tahad', 'on', 'on', 'läheb', 'on', 'on', 'on', 'minna', 'külastada', 'tulla', 'matkama', 'ujuma', '!', '!', '!', '!', '!', '!', '.', '.', '?', '?', '?']
#Sõnade algustähed järjestatuna morfomärgendite järgi (esmalt adjektiivid e omadussõnad jne), loend:
>>> [Algustäht[0] for Algustäht in morfo.sort_values(by="Liik ja vorm").Sõna.values.tolist()]
['p', 's', 'h', 'i', 'v', 'p', 'v', 'K', 's', 'v', 'a', 'K', 'v', 'h', 'K', 'T', 'j', 'j', 'j', 'j', 'j', 'e', 'e', 's', 's', 'S', 'm', 'M', 'S', 'm', 'm', 'M', 'M', 'm', 'M', 'k', 's', 's', 'M', 'S', 'J', 'm', 'J', 'J', 's', 'a', 'i', 'l', 'a', 'H', 'M', 'i', 'n', 't', 'p', 'l', 'l', 'l', 't', 't', 'o', 'o', 'l', 'o', 'o', 'o', 'm', 'k', 't', 'm', 'u', '!', '!', '!', '!', '!', '!', '.', '.', '?', '?', '?']
#Uus tulp, kus on sõnade esitähed:
>>> morfo["Algustäht"] = [Algustäht[0] for Algustäht in morfo.Sõna]
>>> morfo.head()
Sõna Liik ja vorm Tüvi Algustäht
0 Tere I tere+0 T
1 Mari S.prop.sg.nom Mari+0 M
2 ! Z.Exc ! !
3 Kuidas D kuidas+0 K
4 sul P.sg.ad sina+l s
#Tühikuid sisaldava nimega tulbast aga pole nii lihtne esitähti eraldada...
>>> morfo["Sõnaliik"] = [Sõnaliik[0] for Sõnaliik in morfo.Liik ja vorm]
File "", line 1
morfo["Sõnaliik"] = [Sõnaliik[0] for Sõnaliik in morfo.Liik ja vorm]
^
SyntaxError: invalid syntax
#Vahetan tulba nime:
>>> morfo.rename(columns={"Liik ja vorm":"Liik_vorm"}, inplace=True)
>>> morfo.head()
Sõna Liik_vorm Tüvi Algustäht
0 Tere I tere+0 T
1 Mari S.prop.sg.nom Mari+0 M
2 ! Z.Exc ! !
3 Kuidas D kuidas+0 K
4 sul P.sg.ad sina+l s
#Uus tulp, kus sõnaliigid muust märgendusest eraldatud:
>>> morfo["Sõnaliik"] = [Sõnaliik[0] for Sõnaliik in morfo.Liik_vorm]
>>> morfo.head()
Sõna Liik_vorm Tüvi Algustäht Sõnaliik
0 Tere I tere+0 T I
1 Mari S.prop.sg.nom Mari+0 M S
2 ! Z.Exc ! ! Z
3 Kuidas D kuidas+0 K D
4 sul P.sg.ad sina+l s P
#Sõnade pikkused:
>>> [len(Sõnapikkus) for Sõnapikkus in morfo.Sõna]
[4, 4, 1, 6, 3, 5, 1, 2, 6, 2, 4, 2, 5, 1, 5, 2, 6, 2, 2, 5, 5, 12, 1, 6, 2, 4, 4, 4, 2, 3, 2, 5, 4, 3, 1, 2, 5, 9, 5, 5, 1, 3, 2, 10, 2, 3, 6, 4, 1, 2, 5, 5, 5, 2, 7, 1, 3, 3, 2, 4, 4, 6, 1, 3, 2, 5, 5, 6, 1, 2, 9, 4, 2, 2, 6, 2, 5, 6, 1, 4, 5, 5]
#Uus, sõnapikkuste tulp:
>>> morfo["Pikkus"] = [len(Sõnapikkus) for Sõnapikkus in morfo.Sõna]
>>> morfo.head()
Sõna Liik_vorm Tüvi Algustäht Sõnaliik Pikkus
0 Tere I tere+0 T I 4
1 Mari S.prop.sg.nom Mari+0 M S 4
2 ! Z.Exc ! ! Z 1
3 Kuidas D kuidas+0 K D 6
4 sul P.sg.ad sina+l s P 3
#Leian pikima ja lühima sõna ning keskmise sõnapikkuse:
>>> morfo.Pikkus.max()
12
>>> morfo.Pikkus.min()
1
>>> morfo.Pikkus.mean()
3.7682926829268291
#Sordin sõnapikkuse järgi:
>>> morfo.sort_values(by="Pikkus").head()
Sõna Liik_vorm Tüvi Algustäht Sõnaliik Pikkus
40 . Z.Fst . . Z 1
48 ! Z.Exc ! ! Z 1
34 . Z.Fst . . Z 1
55 ! Z.Exc ! ! Z 1
22 ! Z.Exc ! ! Z 1
>>> morfo.sort_values(by="Pikkus", ascending=False).head()
Sõna Liik_vorm Tüvi Algustäht \
21 Hispaaniasse S.prop.sg.ill H
43 päikseline A.pos.sg.nom p
37 külastada V.main.inf külasta+da k
70 igatsesin V.main.indic.impf.ps1.sg.ps.af igatse+sin i
54 matkama V.main.sup.ps.ill matka+ma m
Sõnaliik Pikkus
21 S 12
43 A 10
37 V 9
70 V 9
54 V 7
#Leian vähemalt kuuetähelised sõnad:
>>> (morfo.Pikkus > 5).head()
0 False
1 False
2 False
3 True
4 False
Name: Pikkus, dtype: bool
>>> morfo[morfo.Pikkus > 5]
Sõna Liik_vorm Tüvi Algustäht \
3 Kuidas D kuidas+0 K
8 loodan V.main.indic.pres.ps1.sg.ps.af loot+n l
16 puhkan V.main.indic.pres.ps1.sg.ps.af p
21 Hispaaniasse S.prop.sg.ill H
23 Madrid S.com.pl.nom M
37 külastada V.main.inf külasta+da k
43 päikseline A.pos.sg.nom p
46 Juulis S.com.sg.in juuli+s J
54 matkama V.main.sup.ps.ill matka+ma m
61 Juulis S.com.sg.in juuli+s J
67 minuga P.sg.kom mina+ga m
70 igatsesin V.main.indic.impf.ps1.sg.ps.af igatse+sin i
74 loodan V.main.indic.pres.ps1.sg.ps.af loot+n l
77 varsti D varsti+0 v
Sõnaliik Pikkus
3 D 6
8 V 6
16 V 6
21 S 12
23 S 6
37 V 9
43 A 10
46 S 6
54 V 7
61 S 6
67 P 6
70 V 9
74 V 6
77 D 6
#Leian vähemalt viietähelised nimisõnad:
>>> morfo[(morfo.Pikkus > 4) & (morfo.Sõnaliik=="S")]
Sõna Liik_vorm Tüvi Algustäht Sõnaliik Pikkus
14 Suvel S.com.sg.ad suvi+l S S 5
21 Hispaaniasse S.prop.sg.ill H S 12
23 Madrid S.com.pl.nom M S 6
38 Juuli S.com.sg.gen juuli+0 J S 5
39 algus S.com.sg.nom algus+0 a S 5
46 Juulis S.com.sg.in juuli+s J S 6
52 meres S.com.sg.in meri+s m S 5
61 Juulis S.com.sg.in juuli+s J S 6
81 sõber S.com.sg.nom sõber+0 s S 5
#Lühim nimisõna:
>>> morfo[morfo.Sõnaliik=="S"].Pikkus.min()
3
#Nimisõnade arv:
>>> len(morfo[morfo.Sõnaliik=="S"])
13
#Vähemalt viietäheliste sõnade arv:
>>> len(morfo[morfo.Pikkus > 4])
31
#Alla viietäheliste sõnade arv:
>>> len(morfo[morfo.Pikkus < 5])
51
#Tähemärkide arv (tühikuteta):
>>> (morfo.Pikkus).sum()
309
#Kui mitu sõnaliiki on esindatud?
>>> len(morfo.groupby("Sõnaliik"))
8
#Kui mitu morfoloogiliselt erinevat sõnavormi tekstis leidub?
>>> len(morfo.groupby("Liik_vorm"))
31
"Kui mitu erinevat algustähte esineb?
>>> len(morfo.groupby("Algustäht"))
24
#Iga sõnaliigi pikim sõna:
>>> morfo.groupby("Sõnaliik").Pikkus.max()
Sõnaliik
A 10
D 6
I 4
J 2
P 6
S 12
V 9
Z 1
Name: Pikkus, dtype: int64
#Kui palju on erinevate sõnaliikide sõnu?
>>> morfo.groupby("Sõnaliik").Sõna.count()
Sõnaliik
A 6
D 9
I 1
J 7
P 15
S 13
V 20
Z 11
Name: Sõna, dtype: int64
#Eri tähega algavate sõnade keskmised pikkused:
>>> morfo.groupby("Algustäht").Pikkus.mean()
Algustäht
! 1.000000
. 1.000000
? 1.000000
H 12.000000
J 5.666667
K 4.000000
M 3.000000
S 4.000000
T 4.000000
a 4.666667
e 2.000000
h 4.000000
i 5.333333
j 2.000000
k 6.500000
l 5.200000
m 4.142857
n 5.000000
o 2.000000
p 7.000000
s 3.428571
t 5.000000
u 5.000000
v 4.500000
Name: Pikkus, dtype: float64
#Iga sõnaliigi sõnad ühel real, sidekriipsuga eraldatud:
>>> morfo.groupby("Sõnaliik")["Sõna"].apply(lambda m: "-".join(m))
Sõnaliik
A ilus-hea-päikseline-soe-vaba-parim
D Kuidas-hästi-väga-alati-väga-seal-Kas-Kas-varsti
I Tere
J et-ja-ja-ja-ja-ja-et
P sul-Ma-kõik-ma-ma-Ma-See-Ma-sul-sa-minuga-Ma-s...
S Mari-Suvel-Hispaaniasse-Madrid-linn-ilm-Juuli-...
V läheb-loodan-on-puhkan-tahan-minna-on-on-tahan...
Z !-?-!-!-.-.-!-!-?-?-!
Name: Sõna, dtype: object
#Kas mõni sõna kordub?
>>> morfo.groupby("Sõna").Sõna.count()
Sõna
! 6
. 2
? 3
Hispaaniasse 1
Juuli 1
Juulis 2
Kas 2
Kuidas 1
Ma 4
Madrid 1
Mari 1
See 1
Sinu 1
Suvel 1
Tere 1
aega 1
alati 1
algus 1
et 2
hea 1
hästi 1
igatsesin 1
ilm 1
ilus 1
ja 5
kõik 1
külastada 1
linn 1
loodan 2
läheb 1
lähen 1
ma 3
matkama 1
meres 1
minna 1
minuga 1
näeme 1
on 5
parim 1
puhkan 1
päikseline 1
sa 1
seal 1
sind 1
soe 1
sul 2
sõber 1
tahad 1
tahan 2
tulla 1
ujuma 1
vaba 1
varsti 1
väga 2
Name: Sõna, dtype: int64
#Kustutan tulba "Tüvi", et vaade oleks kompaktsem:
>>> del morfo["Tüvi"]
>>> morfo.head()
Sõna Liik_vorm Algustäht Sõnaliik Pikkus
0 Tere I T I 4
1 Mari S.prop.sg.nom M S 4
2 ! Z.Exc ! Z 1
3 Kuidas D K D 6
4 sul P.sg.ad s P 3
#Loen sisse teise tabeli, mis seletab lahti morfoloogiliste märgendite tähenduse:
>>> seletused = pd.read_csv("seletused.txt")
>>> seletused = seletused.sort_values(by="Märgend")
>>> seletused.head()
Märgend Seletus
15 A.pos.sg.nom omadussõna algvõrre A nimetavas
21 A.pos.sg.part omadussõna algvõrre A osastavas
29 A.super.sg.nom omadussõna ülivõrre A nimetavas
3 D määrsõna
0 I hüüdsõna
#Liidan tabelid:
>>> morfokoos = morfo.merge(seletused, left_on="Liik_vorm", right_on="Märgend")
>>> morfokoos.head()
Sõna Liik_vorm Algustäht Sõnaliik Pikkus Märgend \
0 Tere I T I 4 I
1 Mari S.prop.sg.nom M S 4 S.prop.sg.nom
2 ! Z.Exc ! Z 1 Z.Exc
3 ! Z.Exc ! Z 1 Z.Exc
4 ! Z.Exc ! Z 1 Z.Exc
Seletus
0 hüüdsõna
1 pärisnimi A nimetavas
2 hüüumärk
3 hüüumärk
4 hüüumärk
#Kustutan ühistabelist üleliigsed tulbad ja kuvan uuesti:
>>> del morfokoos["Algustäht"]
>>> del morfokoos["Pikkus"]
>>> del morfokoos["Märgend"]
>>> morfokoos.head(20)
Sõna Liik_vorm Seletus
0 Tere I hüüdsõna
1 Mari S.prop.sg.nom pärisnimi A nimetavas
2 ! Z.Exc hüüumärk
3 ! Z.Exc hüüumärk
4 ! Z.Exc hüüumärk
5 ! Z.Exc hüüumärk
6 ! Z.Exc hüüumärk
7 ! Z.Exc hüüumärk
8 Kuidas D määrsõna
9 hästi D määrsõna
10 väga D määrsõna
11 alati D määrsõna
12 väga D määrsõna
13 seal D määrsõna
14 Kas D määrsõna
15 Kas D määrsõna
16 varsti D määrsõna
17 sul P.sg.ad asesõna A alalütlevas
18 sul P.sg.ad asesõna A alalütlevas
19 sul P.sg.ad asesõna A alalütlevas
#Sordin tabeli seletuse järgi:
>>> morfokoos.sort_values(by="Seletus").head()
Sõna Liik_vorm Seletus
46 et J.sub alistav sidend
45 et J.sub alistav sidend
20 sul P.sg.ad asesõna A alalütlevas
19 sul P.sg.ad asesõna A alalütlevas
17 sul P.sg.ad asesõna A alalütlevas
#Loen kokku erineva märgendiga sõnad:
>>> morfokoos.groupby("Liik_vorm").Sõna.count().values.tolist()
[4, 1, 1, 9, 1, 5, 2, 4, 1, 1, 10, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 6, 1, 5, 3, 2, 6, 2, 3]
#Eri tüüpi sõnade osakaalud:
>>> morfokoos.groupby("Liik_vorm").Sõna.count()/82
Liik_vorm
A.pos.sg.nom 0.048780
A.pos.sg.part 0.012195
A.super.sg.nom 0.012195
D 0.109756
I 0.012195
J.crd 0.060976
J.sub 0.024390
P.sg.ad 0.048780
P.sg.gen 0.012195
P.sg.kom 0.012195
P.sg.nom 0.121951
P.sg.part 0.012195
S.com.pl.nom 0.012195
S.com.sg.ad 0.012195
S.com.sg.gen 0.012195
S.com.sg.in 0.036585
S.com.sg.part 0.012195
S.prop.sg.ill 0.012195
S.prop.sg.nom 0.012195
V.main.indic.impf.ps1.sg.ps.af 0.012195
V.main.indic.pres.ps1.pl.ps.af 0.012195
V.main.indic.pres.ps1.sg.ps.af 0.073171
V.main.indic.pres.ps2.sg.ps.af 0.012195
V.main.indic.pres.ps3.sg.ps.af 0.060976
V.main.inf 0.036585
V.main.sup.ps.ill 0.024390
Z.Exc 0.073171
Z.Fst 0.024390
Z.Int 0.036585
Name: Sõna, dtype: float64
#Vahetan andmetüübi dataframe'iks ja kuvan eri tüüpi sõnade sagedused:
>>> osakaalud = morfokoos.groupby("Liik_vorm").Sõna.count().to_frame()
>>> osakaalud
Sõna
Liik_vorm
A.pos.sg.nom 4
A.pos.sg.part 1
A.super.sg.nom 1
D 9
I 1
J.crd 5
J.sub 2
P.sg.ad 4
P.sg.gen 1
P.sg.kom 1
P.sg.nom 10
P.sg.part 1
S.com.pl.nom 1
S.com.sg.ad 1
S.com.sg.gen 1
S.com.sg.in 3
S.com.sg.part 1
S.prop.sg.ill 1
S.prop.sg.nom 1
V.main.indic.impf.ps1.sg.ps.af 1
V.main.indic.pres.ps1.pl.ps.af 1
V.main.indic.pres.ps1.sg.ps.af 6
V.main.indic.pres.ps2.sg.ps.af 1
V.main.indic.pres.ps3.sg.ps.af 5
V.main.inf 3
V.main.sup.ps.ill 2
Z.Exc 6
Z.Fst 2
Z.Int 3
#Tekitan juurde osakaalu tulba:
>>> osakaalud["osakaal"] = osakaalud["Sõna"]/osakaalud.Sõna.sum()
>>> osakaalud
Sõna osakaal
Liik_vorm
A.pos.sg.nom 4 0.050633
A.pos.sg.part 1 0.012658
A.super.sg.nom 1 0.012658
D 9 0.113924
I 1 0.012658
J.crd 5 0.063291
J.sub 2 0.025316
P.sg.ad 4 0.050633
P.sg.gen 1 0.012658
P.sg.kom 1 0.012658
P.sg.nom 10 0.126582
P.sg.part 1 0.012658
S.com.pl.nom 1 0.012658
S.com.sg.ad 1 0.012658
S.com.sg.gen 1 0.012658
S.com.sg.in 3 0.037975
S.com.sg.part 1 0.012658
S.prop.sg.ill 1 0.012658
S.prop.sg.nom 1 0.012658
V.main.indic.impf.ps1.sg.ps.af 1 0.012658
V.main.indic.pres.ps1.pl.ps.af 1 0.012658
V.main.indic.pres.ps1.sg.ps.af 6 0.075949
V.main.indic.pres.ps2.sg.ps.af 1 0.012658
V.main.indic.pres.ps3.sg.ps.af 5 0.063291
V.main.inf 3 0.037975
V.main.sup.ps.ill 2 0.025316
Z.Exc 6 0.075949
Z.Fst 2 0.025316
Z.Int 3 0.037975
#Salvestan tulemuse:
>>> osakaalud.to_csv("osakaalud.txt")