{"id":646,"date":"2020-12-29T13:33:25","date_gmt":"2020-12-29T13:33:25","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/?post_type=chapter&#038;p=646"},"modified":"2020-12-29T14:00:49","modified_gmt":"2020-12-29T14:00:49","slug":"funktsioonide-rakendamine-seeriatega","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/chapter\/funktsioonide-rakendamine-seeriatega\/","title":{"raw":"Funktsioonide rakendamine seeriatega","rendered":"Funktsioonide rakendamine seeriatega"},"content":{"raw":"<h2>Sisseehitatud funktsioonid<\/h2>\r\nPandasel on mitmeid sisseehitatud funktsioone, mille abil saab andmeid vastavalt soovile t\u00f6\u00f6delda. J\u00e4rgnevalt vaatame l\u00e4hemalt peamisi Pandase funktsioone ja mille jaoks neid kasutatakse.\r\n<h2>Seeria sorteerimine<\/h2>\r\nTihti on vaja andmeid mingis kindlas j\u00e4rjekorras sorteerida. Sorteerime andmed \u00f5pilaste arvude j\u00e4rgi. Selleks kasutame funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">sort_values<\/code>.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">andmed = [24, 23, 21, 22, 28, 26, 30, 28, 31, 35, 33, 32, 29, 27, 25, 30, 26, 31, 22]\r\nklassid = ['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']\r\n\r\nopilaste_arv = pd.Series(andmed, index = klassid, name = '\u00d5pilaste arv klassis')\r\n\r\nopilased_kasvavalt = opilaste_arv.sort_values()\r\n\r\nprint(opilased_kasvavalt)<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  2a         \t21\r\n  12 sotsiaal\t22\r\n  3a         \t22\r\n  1b         \t23\r\n  1a         \t24\r\n  10 sotsiaal\t25\r\n  4a         \t26\r\n  11 sotsiaal\t26\r\n  10 reaal   \t27\r\n  5a         \t28\r\n  3b         \t28\r\n  9a         \t29\r\n  4b         \t30\r\n  11 reaal   \t30\r\n  6a         \t31\r\n  12 reaal   \t31\r\n  8a         \t32\r\n  7a         \t33\r\n  6b         \t35\r\n  Name: \u00d5pilaste arv klassis, dtype: int64\r\n<\/pre>\r\nVaikimisi sorteeritakse andmed kasvavas j\u00e4rjekorras. Selleks, et sorteerida andmed kahanevas j\u00e4rjekorras, lisame <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">sort_values<\/code> funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">ascending<\/code> parameetri v\u00e4\u00e4rtusega <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">False<\/code>.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">andmed = [24, 23, 21, 22, 28, 26, 30, 28, 31, 35, 33, 32, 29, 27, 25, 30, 26, 31, 22]\r\nklassid = ['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']\r\n\r\nopilaste_arv = pd.Series(andmed, index = klassid, name = '\u00d5pilaste arv klassis')\r\n\r\nopilased_kahanevalt = opilaste_arv.sort_values(ascending=False)\r\n\r\nprint(opilased_kahanevalt)<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py\r\n<\/span>  6b         \t35\r\n  7a         \t33\r\n  8a         \t32\r\n  12 reaal   \t31\r\n  6a         \t31\r\n  11 reaal   \t30\r\n  4b         \t30\r\n  9a         \t29\r\n  3b         \t28\r\n  5a         \t28\r\n  10 reaal   \t27\r\n  11 sotsiaal\t26\r\n  4a         \t26\r\n  10 sotsiaal\t25\r\n  1a         \t24\r\n  1b         \t23\r\n  3a         \t22\r\n  12 sotsiaal\t22\r\n  2a         \t21\r\n  Name: \u00d5pilaste arv klassis, dtype: int64\r\n<\/pre>\r\nSamuti saab sarnaselt sorteerida ka siltide j\u00e4rgi, kasutades funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">sort_index<\/code> abil.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">andmed = [24, 23, 21, 22, 28, 26, 30, 28, 31, 35, 33, 32, 29, 27, 25, 30, 26, 31, 22]\r\nklassid = ['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']\r\n\r\nopilaste_arv = pd.Series(andmed, index = klassid, name = '\u00d5pilaste arv klassis')\r\n\r\nsildid_kahanevalt = opilaste_arv.sort_index()\r\n\r\nprint(sildid_kahanevalt)<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  10 reaal   \t27\r\n  10 sotsiaal\t25\r\n  11 reaal   \t30\r\n  11 sotsiaal\t26\r\n  12 reaal   \t31\r\n  12 sotsiaal\t22\r\n  1a         \t24\r\n  1b         \t23\r\n  2a         \t21\r\n  3a         \t22\r\n  3b         \t28\r\n  4a         \t26\r\n  4b         \t30\r\n  5a         \t28\r\n  6a         \t31\r\n  6b         \t35\r\n  7a         \t33\r\n  8a         \t32\r\n  9a         \t29\r\n  Name: \u00d5pilaste arv klassis, dtype: int64\r\n<\/pre>\r\nN\u00e4ites sorteeriti sildid t\u00e4hestikulises j\u00e4rjestuses.\r\n<h2>Suurim ja v\u00e4him v\u00e4\u00e4rtus<\/h2>\r\nPythonis oleme kasutanud suurima ja v\u00e4hima v\u00e4\u00e4rtuse leidmiseks funktsioone <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">max(j\u00e4rjend)<\/code> ja <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">min(j\u00e4rjend)<\/code>. Ka Pandasega saab neid funktsioone kasutada.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># Suurim v\u00e4\u00e4rtus\r\nandmed = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66})\r\nmax_vaartus = andmed.max()\r\n\r\nprint(max_vaartus)<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  66<\/pre>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># V\u00e4him v\u00e4\u00e4rtus\r\nandmed = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66})\r\nmin_vaartus = andmed.min()\r\n\r\nprint(min_vaartus)<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  34<\/pre>\r\n<h2>Aritmeetiline keskmine ja mediaan<\/h2>\r\n\u00dcks levinumaid arvkarakteristikud, mida andmete anal\u00fc\u00fcsimisel kasutatakse on arvude aritmeetiline keskmine. Aritmeetiliseks keskmiseks nimetatakse arvu, mis saadakse antud arvude summa jagamisel liidetavate arvuga. Seda saab v\u00e4ga lihtsalt ka teha Pandase abiga, kasutades <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">mean<\/code> funktsiooni.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># Aritmeetiline keskmine\r\nandmed = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66})\r\nkeskmine = andmed.mean()\r\n\r\nprint(keskmine)<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  52.0<\/pre>\r\nSarnaselt saab leida ka mediaani, kasutades <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">median<\/code> funktsiooni. Mediaan on variatsioonirea keskmine liige ehk v\u00e4\u00e4rtus, millest suuremaid (v\u00f5i v\u00f5rdseid) ja v\u00e4iksemaid (v\u00f5i v\u00f5rdseid) liikmeid on variatsioonireas \u00fchepalju. Kui liikmeid on paaris arv, siis mediaaniks on variatsioonirea kahe keskmise liikme aritmeetiline keskmine.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># Mediaan\r\n\r\nandmed_paaritu = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66})\r\nandmed_paaris = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66, 'MM32': 51})\r\n\r\nmediaan_paaritu = andmed_paaritu.median()\r\nmediaan_paaris = andmed_paaris.median()\r\n\r\nprint(\"Mediaan (paaritu):\", mediaan_paaritu)\r\nprint(\"Mediaan (paaris):\", mediaan_paaris)<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  Mediaan (paaritu): 56.0\r\n  Mediaan (paaris): 53.5<\/pre>\r\n<h2>Oma funktsiooni kasutamine<\/h2>\r\nSeerial on v\u00f5imalik rakendada otse ka kasutaja loodud funktsioone. N\u00e4iteks teeme funktsiooni, mis arvutab II sambasse lisatava summa brutopalgast, mis on 2%. Funktsiooni argumendiks on seeria ning funktsiooni sees korrutame seeria 0,02ga. Meeles tuleb pidada seda, et funktsioon peab kindlasti tagastama, mitte v\u00e4ljastama, sest nii saame arvutatud seeria muutujasse salvestada.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">def pension(seeria):\r\n    return seeria*0.02\r\n\r\npalk = pd.Series({'Madis': 783.45, 'Kristi': 1330.1, 'Ott': 975.23, 'Kalle': 2987})\r\n\r\nII_sammas = pension(palk)\r\n\r\nprint(II_sammas)<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  Madis \t15.6690\r\n  Kristi\t26.6020\r\n  Ott   \t19.5046\r\n  Kalle \t59.7400\r\n  dtype: float64<\/pre>\r\nOluline on meelde j\u00e4tta, et funktsioonide rakendamisel seeria peal, tuleb vajadusel uus ja modifitseeritud seeria uuesti omistada uuele muutujale. Seljuhul saab kasutada nii l\u00e4hteandmetel p\u00f5hinevat seeriat kui ka funktsiooni abil loodud seeriat eraldi. N\u00e4iteks rakendada veel m\u00f5nda funktsiooni l\u00e4hteandmete seerial.","rendered":"<h2>Sisseehitatud funktsioonid<\/h2>\n<p>Pandasel on mitmeid sisseehitatud funktsioone, mille abil saab andmeid vastavalt soovile t\u00f6\u00f6delda. J\u00e4rgnevalt vaatame l\u00e4hemalt peamisi Pandase funktsioone ja mille jaoks neid kasutatakse.<\/p>\n<h2>Seeria sorteerimine<\/h2>\n<p>Tihti on vaja andmeid mingis kindlas j\u00e4rjekorras sorteerida. Sorteerime andmed \u00f5pilaste arvude j\u00e4rgi. Selleks kasutame funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">sort_values<\/code>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">andmed = [24, 23, 21, 22, 28, 26, 30, 28, 31, 35, 33, 32, 29, 27, 25, 30, 26, 31, 22]\r\nklassid = ['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']\r\n\r\nopilaste_arv = pd.Series(andmed, index = klassid, name = '\u00d5pilaste arv klassis')\r\n\r\nopilased_kasvavalt = opilaste_arv.sort_values()\r\n\r\nprint(opilased_kasvavalt)<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  2a         \t21\r\n  12 sotsiaal\t22\r\n  3a         \t22\r\n  1b         \t23\r\n  1a         \t24\r\n  10 sotsiaal\t25\r\n  4a         \t26\r\n  11 sotsiaal\t26\r\n  10 reaal   \t27\r\n  5a         \t28\r\n  3b         \t28\r\n  9a         \t29\r\n  4b         \t30\r\n  11 reaal   \t30\r\n  6a         \t31\r\n  12 reaal   \t31\r\n  8a         \t32\r\n  7a         \t33\r\n  6b         \t35\r\n  Name: \u00d5pilaste arv klassis, dtype: int64\r\n<\/pre>\n<p>Vaikimisi sorteeritakse andmed kasvavas j\u00e4rjekorras. Selleks, et sorteerida andmed kahanevas j\u00e4rjekorras, lisame <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">sort_values<\/code> funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">ascending<\/code> parameetri v\u00e4\u00e4rtusega <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">False<\/code>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">andmed = [24, 23, 21, 22, 28, 26, 30, 28, 31, 35, 33, 32, 29, 27, 25, 30, 26, 31, 22]\r\nklassid = ['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']\r\n\r\nopilaste_arv = pd.Series(andmed, index = klassid, name = '\u00d5pilaste arv klassis')\r\n\r\nopilased_kahanevalt = opilaste_arv.sort_values(ascending=False)\r\n\r\nprint(opilased_kahanevalt)<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py\r\n<\/span>  6b         \t35\r\n  7a         \t33\r\n  8a         \t32\r\n  12 reaal   \t31\r\n  6a         \t31\r\n  11 reaal   \t30\r\n  4b         \t30\r\n  9a         \t29\r\n  3b         \t28\r\n  5a         \t28\r\n  10 reaal   \t27\r\n  11 sotsiaal\t26\r\n  4a         \t26\r\n  10 sotsiaal\t25\r\n  1a         \t24\r\n  1b         \t23\r\n  3a         \t22\r\n  12 sotsiaal\t22\r\n  2a         \t21\r\n  Name: \u00d5pilaste arv klassis, dtype: int64\r\n<\/pre>\n<p>Samuti saab sarnaselt sorteerida ka siltide j\u00e4rgi, kasutades funktsiooni <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">sort_index<\/code> abil.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">andmed = [24, 23, 21, 22, 28, 26, 30, 28, 31, 35, 33, 32, 29, 27, 25, 30, 26, 31, 22]\r\nklassid = ['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']\r\n\r\nopilaste_arv = pd.Series(andmed, index = klassid, name = '\u00d5pilaste arv klassis')\r\n\r\nsildid_kahanevalt = opilaste_arv.sort_index()\r\n\r\nprint(sildid_kahanevalt)<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  10 reaal   \t27\r\n  10 sotsiaal\t25\r\n  11 reaal   \t30\r\n  11 sotsiaal\t26\r\n  12 reaal   \t31\r\n  12 sotsiaal\t22\r\n  1a         \t24\r\n  1b         \t23\r\n  2a         \t21\r\n  3a         \t22\r\n  3b         \t28\r\n  4a         \t26\r\n  4b         \t30\r\n  5a         \t28\r\n  6a         \t31\r\n  6b         \t35\r\n  7a         \t33\r\n  8a         \t32\r\n  9a         \t29\r\n  Name: \u00d5pilaste arv klassis, dtype: int64\r\n<\/pre>\n<p>N\u00e4ites sorteeriti sildid t\u00e4hestikulises j\u00e4rjestuses.<\/p>\n<h2>Suurim ja v\u00e4him v\u00e4\u00e4rtus<\/h2>\n<p>Pythonis oleme kasutanud suurima ja v\u00e4hima v\u00e4\u00e4rtuse leidmiseks funktsioone <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">max(j\u00e4rjend)<\/code> ja <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">min(j\u00e4rjend)<\/code>. Ka Pandasega saab neid funktsioone kasutada.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># Suurim v\u00e4\u00e4rtus\r\nandmed = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66})\r\nmax_vaartus = andmed.max()\r\n\r\nprint(max_vaartus)<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  66<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># V\u00e4him v\u00e4\u00e4rtus\r\nandmed = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66})\r\nmin_vaartus = andmed.min()\r\n\r\nprint(min_vaartus)<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  34<\/pre>\n<h2>Aritmeetiline keskmine ja mediaan<\/h2>\n<p>\u00dcks levinumaid arvkarakteristikud, mida andmete anal\u00fc\u00fcsimisel kasutatakse on arvude aritmeetiline keskmine. Aritmeetiliseks keskmiseks nimetatakse arvu, mis saadakse antud arvude summa jagamisel liidetavate arvuga. Seda saab v\u00e4ga lihtsalt ka teha Pandase abiga, kasutades <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">mean<\/code> funktsiooni.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># Aritmeetiline keskmine\r\nandmed = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66})\r\nkeskmine = andmed.mean()\r\n\r\nprint(keskmine)<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  52.0<\/pre>\n<p>Sarnaselt saab leida ka mediaani, kasutades <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">median<\/code> funktsiooni. Mediaan on variatsioonirea keskmine liige ehk v\u00e4\u00e4rtus, millest suuremaid (v\u00f5i v\u00f5rdseid) ja v\u00e4iksemaid (v\u00f5i v\u00f5rdseid) liikmeid on variatsioonireas \u00fchepalju. Kui liikmeid on paaris arv, siis mediaaniks on variatsioonirea kahe keskmise liikme aritmeetiline keskmine.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># Mediaan\r\n\r\nandmed_paaritu = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66})\r\nandmed_paaris = pd.Series({'MM13': 34, 'MM34': 56, 'MM55': 66, 'MM32': 51})\r\n\r\nmediaan_paaritu = andmed_paaritu.median()\r\nmediaan_paaris = andmed_paaris.median()\r\n\r\nprint(\"Mediaan (paaritu):\", mediaan_paaritu)\r\nprint(\"Mediaan (paaris):\", mediaan_paaris)<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  Mediaan (paaritu): 56.0\r\n  Mediaan (paaris): 53.5<\/pre>\n<h2>Oma funktsiooni kasutamine<\/h2>\n<p>Seerial on v\u00f5imalik rakendada otse ka kasutaja loodud funktsioone. N\u00e4iteks teeme funktsiooni, mis arvutab II sambasse lisatava summa brutopalgast, mis on 2%. Funktsiooni argumendiks on seeria ning funktsiooni sees korrutame seeria 0,02ga. Meeles tuleb pidada seda, et funktsioon peab kindlasti tagastama, mitte v\u00e4ljastama, sest nii saame arvutatud seeria muutujasse salvestada.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">def pension(seeria):\r\n    return seeria*0.02\r\n\r\npalk = pd.Series({'Madis': 783.45, 'Kristi': 1330.1, 'Ott': 975.23, 'Kalle': 2987})\r\n\r\nII_sammas = pension(palk)\r\n\r\nprint(II_sammas)<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  Madis \t15.6690\r\n  Kristi\t26.6020\r\n  Ott   \t19.5046\r\n  Kalle \t59.7400\r\n  dtype: float64<\/pre>\n<p>Oluline on meelde j\u00e4tta, et funktsioonide rakendamisel seeria peal, tuleb vajadusel uus ja modifitseeritud seeria uuesti omistada uuele muutujale. Seljuhul saab kasutada nii l\u00e4hteandmetel p\u00f5hinevat seeriat kui ka funktsiooni abil loodud seeriat eraldi. N\u00e4iteks rakendada veel m\u00f5nda funktsiooni l\u00e4hteandmete seerial.<\/p>\n","protected":false},"author":16,"menu_order":5,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-646","chapter","type-chapter","status-publish","hentry"],"part":93,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/users\/16"}],"version-history":[{"count":2,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/646\/revisions"}],"predecessor-version":[{"id":660,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/646\/revisions\/660"}],"part":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/parts\/93"}],"metadata":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/646\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/media?parent=646"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapter-type?post=646"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/contributor?post=646"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/license?post=646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}