13 Mihkel
14 Tiina
15 Miia
16 Siim
17 Priit
18 Kristjan
19 Kristi
20 Kristiina
21 Killu
22 Mart
23 Kert
24 Gert
25 Lauri
26 Moonika
27 Jaanika
28 Jaanus
29 Jaan
Name: eesnimi, dtype: object
In [418]: lapsed[["eesnimi", "pikkus"]]
...:
Out[418]:
eesnimi pikkus
0 Juku 170
1 Kati 160
2 Mati 160
3 Madis 165
4 Mati 163
5 Katrin 165
6 Siim 141
7 Martin 159
8 Kadri 164
9 Katariina 148
10 Maria 143
11 Marta 169
12 Madis 156
13 Mihkel 165
14 Tiina 170
15 Miia 145
16 Siim 151
17 Priit 156
18 Kristjan 164
19 Kristi 155
20 Kristiina 158
21 Killu 164
22 Mart 170
23 Kert 143
24 Gert 152
25 Lauri 156
26 Moonika 164
27 Jaanika 165
28 Jaanus 164
29 Jaan 162
In [419]: lapsed.loc[10:20, ["eesnimi", "pikkus"]]
...:
Out[419]:
eesnimi pikkus
10 Maria 143
11 Marta 169
12 Madis 156
13 Mihkel 165
14 Tiina 170
15 Miia 145
16 Siim 151
17 Priit 156
18 Kristjan 164
19 Kristi 155
20 Kristiina 158
In [420]: lapsed.loc[17, "eesnimi"]
...:
Out[420]: 'Priit'
In [421]: lapsed[lapsed.pikkus>163]
...:
Out[421]:
eesnimi pikkus mass sugu
0 Juku 170 45 m
3 Madis 165 53 m
5 Katrin 165 43 n
8 Kadri 164 57 n
11 Marta 169 55 n
13 Mihkel 165 69 m
14 Tiina 170 38 n
18 Kristjan 164 59 m
21 Killu 164 49 n
22 Mart 170 69 m
26 Moonika 164 58 n
27 Jaanika 165 59 n
28 Jaanus 164 63 m
In [422]: lapsed[(lapsed.pikkus>163) & (lapsed.mass<55)]
...:
Out[422]:
eesnimi pikkus mass sugu
0 Juku 170 45 m
3 Madis 165 53 m
5 Katrin 165 43 n
14 Tiina 170 38 n
21 Killu 164 49 n
In [423]: lapsed.pikkus.mean()
...:
Out[423]: 158.9
In [424]: lapsed.apply(max)
...:
Out[424]:
eesnimi Tiina
pikkus 170
mass 72
sugu n
dtype: object
In [425]: lapsed[["pikkus", "mass"]].apply(lambda x: x.max()-x.min())
...:
Out[425]:
pikkus 29
mass 37
dtype: int64
In [426]: lapsed.pikkus.value_counts()
...:
Out[426]:
164 5
165 4
170 3
156 3
143 2
160 2
148 1
145 1
158 1
141 1
151 1
169 1
152 1
155 1
163 1
162 1
159 1
Name: pikkus, dtype: int64
In [427]: lapsed.eesnimi.str.lower()
...:
Out[427]:
0 juku
1 kati
2 mati
3 madis
4 mati
5 katrin
6 siim
7 martin
8 kadri
9 katariina
10 maria
11 marta
12 madis
13 mihkel
14 tiina
15 miia
16 siim
17 priit
18 kristjan
19 kristi
20 kristiina
21 killu
22 mart
23 kert
24 gert
25 lauri
26 moonika
27 jaanika
28 jaanus
29 jaan
Name: eesnimi, dtype: object
In [428]: lapsed.eesnimi.str.find("a")
...:
Out[428]:
0 -1
1 1
2 1
3 1
4 1
5 1
6 -1
7 1
8 1
9 1
10 1
11 1
12 1
13 -1
14 4
15 3
16 -1
17 -1
18 6
19 -1
20 8
21 -1
22 1
23 -1
24 -1
25 1
26 6
27 1
28 1
29 1
Name: eesnimi, dtype: int64
In [429]: lapsed2=lapsed.copy()
...:
In [430]: lapsed2.loc[lapsed2.eesnimi=="Juku", "eesnimi"]="Juhan"
...:
In [431]: lapsed2["mpikkus"]=lapsed2["pikkus"]/100
...:
In [432]: lapsed2
...:
Out[432]:
eesnimi pikkus mass sugu mpikkus
0 Juhan 170 45 m 1.70
1 Kati 160 35 n 1.60
2 Mati 160 72 m 1.60
3 Madis 165 53 m 1.65
4 Mati 163 60 m 1.63
5 Katrin 165 43 n 1.65
6 Siim 141 38 m 1.41
7 Martin 159 46 m 1.59
8 Kadri 164 57 n 1.64
9 Katariina 148 35 n 1.48
10 Maria 143 38 n 1.43
11 Marta 169 55 n 1.69
12 Madis 156 65 m 1.56
13 Mihkel 165 69 m 1.65
14 Tiina 170 38 n 1.70
15 Miia 145 68 n 1.45
16 Siim 151 55 m 1.51
17 Priit 156 63 m 1.56
18 Kristjan 164 59 m 1.64
19 Kristi 155 53 n 1.55
20 Kristiina 158 62 n 1.58
21 Killu 164 49 n 1.64
22 Mart 170 69 m 1.70
23 Kert 143 36 m 1.43
24 Gert 152 67 m 1.52
25 Lauri 156 53 m 1.56
26 Moonika 164 58 n 1.64
27 Jaanika 165 59 n 1.65
28 Jaanus 164 63 m 1.64
29 Jaan 162 65 m 1.62
In [433]: uuslaps=lapsed2.iloc[0].copy()
...:
In [434]: uuslaps
...:
Out[434]:
eesnimi Juhan
pikkus 170
mass 45
sugu m
mpikkus 1.7
Name: 0, dtype: object
In [435]: uuslaps.eesnimi="Mait"
...: uuslaps.pikkus=165
...: uuslaps.mass=66
...: uuslaps.sugu="m"
...: lapsed2=lapsed2.append(uuslaps, ignore_index=True)
...: lapsed2.tail()
...:
Out[435]:
eesnimi pikkus mass sugu mpikkus
26 Moonika 164 58 n 1.64
27 Jaanika 165 59 n 1.65
28 Jaanus 164 63 m 1.64
29 Jaan 162 65 m 1.62
30 Mait 165 66 m 1.70
In [436]: lapsed2.to_csv(index=False)
...:
Out[436]: 'eesnimi,pikkus,mass,sugu,mpikkus\nJuhan,170,45,m,1.7\nKati,160,35,n,1.6\nMati,160,72,m,1.6\nMadis,165,53,m,1.65\nMati,163,60,m,1.63\nKatrin,165,43,n,1.65\nSiim,141,38,m,1.41\nMartin,159,46,m,1.59\nKadri,164,57,n,1.64\nKatariina,148,35,n,1.48\nMaria,143,38,n,1.43\nMarta,169,55,n,1.69\nMadis,156,65,m,1.56\nMihkel,165,69,m,1.65\nTiina,170,38,n,1.7\nMiia,145,68,n,1.45\nSiim,151,55,m,1.51\nPriit,156,63,m,1.56\nKristjan,164,59,m,1.64\nKristi,155,53,n,1.55\nKristiina,158,62,n,1.58\nKillu,164,49,n,1.64\nMart,170,69,m,1.7\nKert,143,36,m,1.43\nGert,152,67,m,1.52\nLauri,156,53,m,1.56\nMoonika,164,58,n,1.64\nJaanika,165,59,n,1.65\nJaanus,164,63,m,1.64\nJaan,162,65,m,1.62\nMait,165,66,m,1.7\n'
In [437]: lapsed2.to_csv("d:/jaagup/f1.csv", index=False)
...:
In [438]: lapsed.groupby(["sugu"]).pikkus.min()
...:
Out[438]:
sugu
m 141
n 143
Name: pikkus, dtype: int64
In [439]: lapsed.groupby(["sugu"]).max()
...:
Out[439]:
eesnimi pikkus mass
sugu
m Siim 170 72
n Tiina 170 68
In [440]: lapsed.groupby(["sugu"]).sugu.count()
...:
Out[440]:
sugu
m 17
n 13
Name: sugu, dtype: int64
In [441]: lapsed.groupby(["sugu"])["pikkus", "mass"].min()
...:
Out[441]:
pikkus mass
sugu
m 141 36
n 143 35
In [442]: lapsed.pikkus.plot()
...:
Out[442]: <matplotlib.axes._subplots.AxesSubplot at 0x15629630>
In [443]: lapsed.pikkus.hist()
...:
Out[443]: <matplotlib.axes._subplots.AxesSubplot at 0x1540b310>
In [444]: lapsed.pikkus.hist(by=lapsed.sugu)
...:
Out[444]:
array([<matplotlib.axes._subplots.AxesSubplot object at 0x154413B0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x154F18D0>], dtype=object)
In [445]: lapsed.pikkus.plot(kind="bar")
...:
Out[445]: <matplotlib.axes._subplots.AxesSubplot at 0x15441270>
In [446]: lapsed.pikkus.plot.box()
...:
Out[446]: <matplotlib.axes._subplots.AxesSubplot at 0x17494b10>
In [447]: lapsed.boxplot(by="sugu")
...:
Out[447]:
array([<matplotlib.axes._subplots.AxesSubplot object at 0x1749A3B0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x17522210>], dtype=object)
In [448]: lapsed[["pikkus", "sugu"]].boxplot(by="sugu")
...:
Out[448]: <matplotlib.axes._subplots.AxesSubplot at 0x175827b0>
In [449]: lapsed.plot.scatter(x='pikkus', y='mass')
...:
Out[449]: <matplotlib.axes._subplots.AxesSubplot at 0x1758e070>
In [450]: ax=lapsed[lapsed.sugu=="n"].plot.scatter(x='pikkus', y='mass', c="r")
...: lapsed[lapsed.sugu=="m"].plot.scatter(x='pikkus', y='mass', c='b', ax=ax)
...:
Out[450]: <matplotlib.axes._subplots.AxesSubplot at 0x175ba7b0>
In [451]: lapsed.pikkus.plot.kde()
...:
Out[451]: <matplotlib.axes._subplots.AxesSubplot at 0x18638830>
In [452]: lapsed.mass.cumsum()
...:
Out[452]:
0 45
1 80
2 152
3 205
4 265
5 308
6 346
7 392
8 449
9 484
10 522
11 577
12 642
13 711
14 749
15 817
16 872
17 935
18 994
19 1047
20 1109
21 1158
22 1227
23 1263
24 1330
25 1383
26 1441
27 1500
28 1563
29 1628
Name: mass, dtype: int64
In [453]: lapsed.mass.cumsum().plot()
...:
Out[453]: <matplotlib.axes._subplots.AxesSubplot at 0x18655830>
In [454]: poisid=lapsed[lapsed.sugu=="m"]
...:
In [455]: poisid
...:
Out[455]:
eesnimi pikkus mass sugu
0 Juku 170 45 m
2 Mati 160 72 m
3 Madis 165 53 m
4 Mati 163 60 m
6 Siim 141 38 m
7 Martin 159 46 m
12 Madis 156 65 m
13 Mihkel 165 69 m
16 Siim 151 55 m
17 Priit 156 63 m
18 Kristjan 164 59 m
22 Mart 170 69 m
23 Kert 143 36 m
24 Gert 152 67 m
25 Lauri 156 53 m
28 Jaanus 164 63 m
29 Jaan 162 65 m
In [456]: sortpoisid=poisid.sort_values(by="pikkus")
...:
In [457]: plt.axis([0, 40, 100, 200])
...: sortpoisid.pikkus.plot(kind="bar")
...: plt.axhline(sortpoisid.pikkus.mean())
...:
Out[457]: <matplotlib.lines.Line2D at 0x186ddc10>
In [458]: sortpoisid.pikkus.diff()
...:
Out[458]:
6 NaN
23 2.0
16 8.0
24 1.0
25 4.0
12 0.0
17 0.0
7 3.0
2 1.0
29 2.0
4 1.0
18 1.0
28 0.0
13 1.0
3 0.0
22 5.0
0 0.0
Name: pikkus, dtype: float64
In [459]: p=lapsed.groupby("sugu").pikkus
...: p
...:
In [460]: Out[459]: <pandas.core.groupby.SeriesGroupBy object at 0x186725D0>p.mean().plot.bar(yerr=p.std())
...:
Out[460]: <matplotlib.axes._subplots.AxesSubplot at 0x186787d0>
In [461]: pd.crosstab(lapsed.sugu, lapsed.pikkus)
...:
Out[461]:
pikkus 141 143 145 148 151 152 155 156 158 159 160 162 163 164 \
sugu
m 1 1 0 0 1 1 0 3 0 1 1 1 1 2
n 0 1 1 1 0 0 1 0 1 0 1 0 0 3
pikkus 165 169 170
sugu
m 2 0 2
n 2 1 1
In [462]: