{"id":143,"date":"2020-12-20T14:33:25","date_gmt":"2020-12-20T14:33:25","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/?post_type=chapter&#038;p=143"},"modified":"2020-12-28T20:09:19","modified_gmt":"2020-12-28T20:09:19","slug":"numpy-uhemootmeliste-jarjendite-funktsioonid","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/chapter\/numpy-uhemootmeliste-jarjendite-funktsioonid\/","title":{"raw":"NumPy \u00fchem\u00f5\u00f5tmeliste j\u00e4rjendite funktsioonid","rendered":"NumPy \u00fchem\u00f5\u00f5tmeliste j\u00e4rjendite funktsioonid"},"content":{"raw":"<h2>Sisseehitatud funktsioonid<\/h2>\r\nNagu ka Pythonil, on NumPyl endal sisseehitatud funktsioonid, mille abil saab j\u00e4rjendite kohta andmeid v\u00f5i vastavalt soovile neid t\u00f6\u00f6delda. J\u00e4rgnevalt vaatame l\u00e4hemalt peamisi NumPy funktsioone ja mille jaoks neid kasutatakse.\r\n<pre><\/pre>\r\n<h2>J\u00e4rjendi suurima\/v\u00e4hima v\u00e4\u00e4rtuse leidmine<\/h2>\r\nJ\u00e4rjendist saab v\u00e4ga lihtsalt leida suurimat ja v\u00e4himat v\u00e4\u00e4rtust. Pythonis oleme kasutanud selleks 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>. NumPys on need aga vastavalt: <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">np.amax(j\u00e4rjend)<\/code> ja <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">np.amin(j\u00e4rjend)<\/code>.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># J\u00e4rjendi suurim element\r\na = np.array([1, 2, 3])\r\nprint(\"J\u00e4rjendi suurim element: \", np.amax(a))<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  J\u00e4rjendi suurim element:\u00a0 3<\/pre>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># J\u00e4rjendi v\u00e4him element\r\nprint(\"J\u00e4rjendi v\u00e4him element: \", np.amin(a))<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  J\u00e4rjendi v\u00e4him element:  1<\/pre>\r\n<h2>J\u00e4rjendi aritmeetiline keskmine ja mediaan<\/h2>\r\n\u00dcks levinumaid matemaatilisi funktsioone on arvude aritmeetilise keskmise leidmine. Aritmeetiliseks keskmiseks nimetatakse arvu, mis saadakse antud arvude summa jagamisel liidetavate arvuga. Seda saab v\u00e4ga lihtsalt ka teha NumPy j\u00e4rjendiga, kasutades <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">mean<\/code> funktsiooni. <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">mean<\/code> funktsioon liidab automaatselt j\u00e4rjendi elemendid kokku ja jagab j\u00e4rjendi pikkuse ehk elementide arvuga. Vaatame n\u00e4idet:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># NumPy j\u00e4rjendi keskmine v\u00e4\u00e4rtus\r\n\r\na = np.array([2, 8, 10, 6, 12])\r\n\r\n# Leiame arvude keskmise v\u00e4\u00e4rtuse\r\nprint(\"J\u00e4rjendi keskmine v\u00e4\u00e4rtus: \", np.mean(a))<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  J\u00e4rjendi keskmine v\u00e4\u00e4rtus:\u00a0 7.6<\/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 paarisarv, 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\"># NumPy j\u00e4rjendi mediaan\r\n\r\na = np.array([2, 8, 10, 6, 12])\r\nb = np.array([2, 8, 10, 6, 12, 5])\r\n\r\nprint(\"J\u00e4rjendi mediaan (paaritu): \", np.median(a))\r\nprint(\"J\u00e4rjendi mediaan (paaris): \", np.median(b))<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  J\u00e4rjendi mediaan (paaritu):\u00a0 8.0\r\n  J\u00e4rjendi mediaan (paaris):\u00a0 7.0<\/pre>\r\n<h2>Oma funktsiooni kasutamine<\/h2>\r\nNumpy j\u00e4rjendi elementidel on v\u00f5imalik rakendada otse ka kasutaja loodud funktsioone. N\u00e4iteks teeme funktsiooni, mis korrutab j\u00e4rjendi elemendid 3,14ga. Funktsiooni argumendiks on NumPy j\u00e4rjend ning funktsiooni sees korrutame selle j\u00e4rjendi 3,14ga. Meeles tuleb pidada seda, et funktsioon peab kindlasti tagastama, mitte v\u00e4ljastama, sest nii saame arvutatud j\u00e4rjendi muutujasse salvestada.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">def korruta(lst):\r\n    return lst*3.14\r\n\r\na = np.array([1, 2, 3, 4])\r\nc = korruta(a)\r\nprint(c)<\/pre>\r\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  [ 3.14\u00a0 6.28\u00a0 9.42 12.56]<\/pre>","rendered":"<h2>Sisseehitatud funktsioonid<\/h2>\n<p>Nagu ka Pythonil, on NumPyl endal sisseehitatud funktsioonid, mille abil saab j\u00e4rjendite kohta andmeid v\u00f5i vastavalt soovile neid t\u00f6\u00f6delda. J\u00e4rgnevalt vaatame l\u00e4hemalt peamisi NumPy funktsioone ja mille jaoks neid kasutatakse.<\/p>\n<pre><\/pre>\n<h2>J\u00e4rjendi suurima\/v\u00e4hima v\u00e4\u00e4rtuse leidmine<\/h2>\n<p>J\u00e4rjendist saab v\u00e4ga lihtsalt leida suurimat ja v\u00e4himat v\u00e4\u00e4rtust. Pythonis oleme kasutanud selleks 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>. NumPys on need aga vastavalt: <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">np.amax(j\u00e4rjend)<\/code> ja <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">np.amin(j\u00e4rjend)<\/code>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># J\u00e4rjendi suurim element\r\na = np.array([1, 2, 3])\r\nprint(\"J\u00e4rjendi suurim element: \", np.amax(a))<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  J\u00e4rjendi suurim element:\u00a0 3<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># J\u00e4rjendi v\u00e4him element\r\nprint(\"J\u00e4rjendi v\u00e4him element: \", np.amin(a))<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  J\u00e4rjendi v\u00e4him element:  1<\/pre>\n<h2>J\u00e4rjendi aritmeetiline keskmine ja mediaan<\/h2>\n<p>\u00dcks levinumaid matemaatilisi funktsioone on arvude aritmeetilise keskmise leidmine. Aritmeetiliseks keskmiseks nimetatakse arvu, mis saadakse antud arvude summa jagamisel liidetavate arvuga. Seda saab v\u00e4ga lihtsalt ka teha NumPy j\u00e4rjendiga, kasutades <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">mean<\/code> funktsiooni. <code class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\">mean<\/code> funktsioon liidab automaatselt j\u00e4rjendi elemendid kokku ja jagab j\u00e4rjendi pikkuse ehk elementide arvuga. Vaatame n\u00e4idet:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\"># NumPy j\u00e4rjendi keskmine v\u00e4\u00e4rtus\r\n\r\na = np.array([2, 8, 10, 6, 12])\r\n\r\n# Leiame arvude keskmise v\u00e4\u00e4rtuse\r\nprint(\"J\u00e4rjendi keskmine v\u00e4\u00e4rtus: \", np.mean(a))<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  J\u00e4rjendi keskmine v\u00e4\u00e4rtus:\u00a0 7.6<\/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 paarisarv, 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\"># NumPy j\u00e4rjendi mediaan\r\n\r\na = np.array([2, 8, 10, 6, 12])\r\nb = np.array([2, 8, 10, 6, 12, 5])\r\n\r\nprint(\"J\u00e4rjendi mediaan (paaritu): \", np.median(a))\r\nprint(\"J\u00e4rjendi mediaan (paaris): \", np.median(b))<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  J\u00e4rjendi mediaan (paaritu):\u00a0 8.0\r\n  J\u00e4rjendi mediaan (paaris):\u00a0 7.0<\/pre>\n<h2>Oma funktsiooni kasutamine<\/h2>\n<p>Numpy j\u00e4rjendi elementidel on v\u00f5imalik rakendada otse ka kasutaja loodud funktsioone. N\u00e4iteks teeme funktsiooni, mis korrutab j\u00e4rjendi elemendid 3,14ga. Funktsiooni argumendiks on NumPy j\u00e4rjend ning funktsiooni sees korrutame selle j\u00e4rjendi 3,14ga. Meeles tuleb pidada seda, et funktsioon peab kindlasti tagastama, mitte v\u00e4ljastama, sest nii saame arvutatud j\u00e4rjendi muutujasse salvestada.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">def korruta(lst):\r\n    return lst*3.14\r\n\r\na = np.array([1, 2, 3, 4])\r\nc = korruta(a)\r\nprint(c)<\/pre>\n<pre><span style=\"color: #3366ff\"><strong>&gt;&gt;&gt;<\/strong><\/span> <span style=\"color: #999999\">%Run guido.py<\/span>\r\n  [ 3.14\u00a0 6.28\u00a0 9.42 12.56]<\/pre>\n","protected":false},"author":16,"menu_order":4,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-143","chapter","type-chapter","status-publish","hentry"],"part":90,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/143","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":6,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/143\/revisions"}],"predecessor-version":[{"id":588,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/143\/revisions\/588"}],"part":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/parts\/90"}],"metadata":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/143\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/media?parent=143"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapter-type?post=143"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/contributor?post=143"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/license?post=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}