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]: