{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" }, "colab": { "name": "kl_py_jupiternb_muvelek.ipynb", "provenance": [], "collapsed_sections": [], "include_colab_link": true } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "ZWd-nqvkpbRE", "colab_type": "text" }, "source": [ "

\n", " \n", " \n", "

\n", "\n", "\n", "

\n", "\n", "\n", "\n", "# Python alapok JupiterNoteBook használata\n", "\n", "\n", "\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": { "id": "AM8Y31BipbRH", "colab_type": "text" }, "source": [ "# JupyterNoteBook\n", "\n", "\n", "\n", "Jupyter notebooks valójában JSON files, amely állomáyn kizerjesztése `.ipynb`\n", "Ezt a formátumot könnyen konvertálhetjuk HTML, PDF, ... formátumba\n", "A formátum megengedi a képek, táblázatok, grafikonok beágyazását is.\n", "\n", "\n", "### Cella típusai\n", " - code cell: Python/R/Lua/etc. program nyel kód értelmező\n", " - raw cell: nyers szöveg\n", " - markdown cell: formászot szovegek, dokumetumok Markdown jelőléssel\n", " \n", "## Parancs mód és szerkesztési mód\n", "A Jupyternek két módja van: parancs mód és szerkesztési mód\n", "\n", " - Parancs mód: nem szerkesztési műveletek végrehajtása a kiválasztott cellákban (egynél több cellát is kiválaszthat)\n", " A kiválasztott cellákat kék színű keretező jelöli\n", " \n", " - Szerkesztés mód: egyetlen cella szerkesztése lehet egyszerre, a szerkeszteni kívánt cella zöld színű keret jellőli\n", " \n", " \n", " \n", "### Váltás az üzemmódok között\n", " - Esc: Szerkesztés mód -> Parancs mód\n", " - Belépés vagy dupla kattintás: Parancs mód -> Szerkesztés mód\n", " \n", " \n", " \n", "### Cella tartalom futtatása\n", "Ctrl + Enter: Cella tartalom futtatás\n", "Shift + Enter: Cella tartalom futtatás és következő cellába lépés\n", "Alt + Enter: Cella tartalom futtatás és új cella beszúrás \n", "\n", "\n", "### Cellák mágikus parancsai\n", "\n", "Különleges parancsok módosíthatják például az egyes cellák viselkedését\n", "% kezdetű : sorra vonatkozó, sor érvényességű\n", "%% kezdetű : egész cella érvényességű\n", " \n", " \n", "#### Mágikus parancsok listázása:\n", "`%lsmagic`\n", "\n", " ---" ] }, { "cell_type": "code", "metadata": { "id": "uj4sc_eApbRI", "colab_type": "code", "colab": {}, "outputId": "55114c03-4796-44ec-c8c0-72970a261b3f" }, "source": [ "%%time\n", "\n", "for x in range(200000):\n", " pass\n", "\n" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Wall time: 7.98 ms\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "jsjheal_pbRN", "colab_type": "code", "colab": {}, "outputId": "8c362cdf-9ebf-4800-ce2c-4a9ec1d6ac4d" }, "source": [ "%%timeit\n", "\n", "x = 3" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "15.4 ns ± 2.07 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "_lkmpSYPpbRR", "colab_type": "code", "colab": {}, "outputId": "2180b996-8426-41e8-9f3b-2fbd41066c59" }, "source": [ "%%writefile hello.py\n", "# fájlba kiírás\n", "print(\"Hello world from klajosw\")" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Overwriting hello.py\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "S45syPY_pbRV", "colab_type": "code", "colab": {}, "outputId": "3fafedfd-7cd9-4325-ed31-9b6932ab5102" }, "source": [ "## mágikus parancsok listája\n", "%lsmagic" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "application/json": { "cell": { "!": "OSMagics", "HTML": "Other", "R": "RMagics", "SVG": "Other", "bash": "Other", "capture": "ExecutionMagics", "cmd": "Other", "debug": "ExecutionMagics", "file": "Other", "html": "DisplayMagics", "javascript": "DisplayMagics", "js": "DisplayMagics", "latex": "DisplayMagics", "markdown": "DisplayMagics", "perl": "Other", "prun": "ExecutionMagics", "pypy": "Other", "python": "Other", "python2": "Other", "python3": "Other", "ruby": "Other", "script": "ScriptMagics", "sh": "Other", "svg": "DisplayMagics", "sx": "OSMagics", "system": "OSMagics", "time": "ExecutionMagics", "timeit": "ExecutionMagics", "writefile": "OSMagics" }, "line": { "R": "RMagics", "Rdevice": "RMagics", "Rget": "RMagics", "Rpull": "RMagics", "Rpush": "RMagics", "alias": "OSMagics", "alias_magic": "BasicMagics", "autoawait": "AsyncMagics", "autocall": "AutoMagics", "automagic": "AutoMagics", "autosave": "KernelMagics", "bookmark": "OSMagics", "cd": "OSMagics", "clear": "KernelMagics", "cls": "KernelMagics", "colors": "BasicMagics", "conda": "PackagingMagics", "config": "ConfigMagics", "connect_info": "KernelMagics", "copy": "Other", "ddir": "Other", "debug": "ExecutionMagics", "dhist": "OSMagics", "dirs": "OSMagics", "doctest_mode": "BasicMagics", "echo": "Other", "ed": "Other", "edit": "KernelMagics", "env": "OSMagics", "gui": "BasicMagics", "hist": "Other", "history": "HistoryMagics", "killbgscripts": "ScriptMagics", "ldir": "Other", "less": "KernelMagics", "load": "CodeMagics", "load_ext": "ExtensionMagics", "loadpy": "CodeMagics", "logoff": "LoggingMagics", "logon": "LoggingMagics", "logstart": "LoggingMagics", "logstate": "LoggingMagics", "logstop": "LoggingMagics", "ls": "Other", "lsmagic": "BasicMagics", "macro": "ExecutionMagics", "magic": "BasicMagics", "matplotlib": "PylabMagics", "mkdir": "Other", "more": "KernelMagics", "notebook": "BasicMagics", "page": "BasicMagics", "pastebin": "CodeMagics", "pdb": "ExecutionMagics", "pdef": "NamespaceMagics", "pdoc": "NamespaceMagics", "pfile": "NamespaceMagics", "pinfo": "NamespaceMagics", "pinfo2": "NamespaceMagics", "pip": "PackagingMagics", "popd": "OSMagics", "pprint": "BasicMagics", "precision": "BasicMagics", "prun": "ExecutionMagics", "psearch": "NamespaceMagics", "psource": "NamespaceMagics", "pushd": "OSMagics", "pwd": "OSMagics", "pycat": "OSMagics", "pylab": "PylabMagics", "qtconsole": "KernelMagics", "quickref": "BasicMagics", "recall": "HistoryMagics", "rehashx": "OSMagics", "reload_ext": "ExtensionMagics", "ren": "Other", "rep": "Other", "rerun": "HistoryMagics", "reset": "NamespaceMagics", "reset_selective": "NamespaceMagics", "rmdir": "Other", "run": "ExecutionMagics", "save": "CodeMagics", "sc": "OSMagics", "set_env": "OSMagics", "store": "StoreMagics", "sx": "OSMagics", "system": "OSMagics", "tb": "ExecutionMagics", "time": "ExecutionMagics", "timeit": "ExecutionMagics", "unalias": "OSMagics", "unload_ext": "ExtensionMagics", "who": "NamespaceMagics", "who_ls": "NamespaceMagics", "whos": "NamespaceMagics", "xdel": "NamespaceMagics", "xmode": "BasicMagics" } }, "text/plain": [ "Available line magics:\n", "%R %Rdevice %Rget %Rpull %Rpush %alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cd %clear %cls %colors %conda %config %connect_info %copy %ddir %debug %dhist %dirs %doctest_mode %echo %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %macro %magic %matplotlib %mkdir %more %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %ren %rep %rerun %reset %reset_selective %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode\n", "\n", "Available cell magics:\n", "%%! %%HTML %%R %%SVG %%bash %%capture %%cmd %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile\n", "\n", "Automagic is ON, % prefix IS NOT needed for line magics." ] }, "metadata": { "tags": [] }, "execution_count": 143 } ] }, { "cell_type": "markdown", "metadata": { "id": "Miqo8FclpbRZ", "colab_type": "text" }, "source": [ "---\n", "\n", "## A motorháztető alatt azt látnánk, hogy\n", "\n", " - mindegyik notebookot a saját Kernel működteti (Python interpreter)\n", " - a kernel megszakítható vagy újraindítható a Kernel menüben\n", " - érdemes mindig futtatni a `Kernel -> Restart & All` minden publikálás elött, és ellenőrizzük,\n", " hogy a notebook a várt módon viselkedik\n", " - az összes cellának egy névtere van, tehát egymás változóit, foggványeit, moduljait elérik, használhatják.\n", " - a cellákat tetszőleges sorrendben lehet futtatni, a végrehajtás száma igényszerint\n", " \n", " \n", "### A kódcellák be- és kimenete elérhető\n", "\n", " - Előző kimenet: `_`\n", "\n", "- Előzőt megelőző kimenet: `__`\n", " \n", " \n", "--- " ] }, { "cell_type": "code", "metadata": { "id": "BOC414WspbRa", "colab_type": "code", "colab": {}, "outputId": "aa4ded44-4766-45e3-f38e-055518da5747" }, "source": [ "'első kiírt szöveg'" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'első kiírt szöveg'" ] }, "metadata": { "tags": [] }, "execution_count": 31 } ] }, { "cell_type": "code", "metadata": { "id": "Aao0UCn8pbRe", "colab_type": "code", "colab": {}, "outputId": "98e43d3c-c7a9-450f-b367-6ff9261153b5" }, "source": [ "\"második kiírt szöveg\"" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'második kiírt szöveg'" ] }, "metadata": { "tags": [] }, "execution_count": 32 } ] }, { "cell_type": "code", "metadata": { "id": "lq69rJP0pbRi", "colab_type": "code", "colab": {}, "outputId": "8cd7c0f8-0c54-4779-c11c-ba24a8c6033b" }, "source": [ "__" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'első kiírt szöveg'" ] }, "metadata": { "tags": [] }, "execution_count": 33 } ] }, { "cell_type": "code", "metadata": { "id": "oNeRLCEZpbRl", "colab_type": "code", "colab": {}, "outputId": "0e7d615c-c4b7-4e52-91aa-d66646a14d60" }, "source": [ "__" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'első kiírt szöveg'" ] }, "metadata": { "tags": [] }, "execution_count": 49 } ] }, { "cell_type": "markdown", "metadata": { "id": "oOdn8YpxpbRo", "colab_type": "text" }, "source": [ "---\n", "\n", "#### Az N-edik kimenet _kimenetszáma változóként is elérhető. _31\n", "De ez csak akkor határozható, ha az N-edik cella rendelkezik kimenettel.\n", "\n", "\n", "\n", "---" ] }, { "cell_type": "code", "metadata": { "id": "lLo8OiDzpbRq", "colab_type": "code", "colab": {}, "outputId": "189c6882-cc25-438b-bd00-77850d26d350" }, "source": [ "_31 ## 31 kód cella kiírása (In[31]) ## tartalma : 'első kiírt szöveg'" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'első kiírt szöveg'" ] }, "metadata": { "tags": [] }, "execution_count": 53 } ] }, { "cell_type": "code", "metadata": { "id": "ah1Ym0c2pbRt", "colab_type": "code", "colab": {}, "outputId": "fdcb7c6b-e2f5-4ecd-e1d9-cf6fe8aa117d" }, "source": [ "## Progszam szerkezettel így sorolhatjuk fel az összes definiált kimenetet:\n", " \n", "list(filter(lambda x: x.startswith('_') and x[1:].isdigit(), globals()))" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['_11',\n", " '_15',\n", " '_16',\n", " '_18',\n", " '_19',\n", " '_20',\n", " '_21',\n", " '_22',\n", " '_23',\n", " '_24',\n", " '_25',\n", " '_26',\n", " '_27',\n", " '_28',\n", " '_29',\n", " '_30',\n", " '_31',\n", " '_32',\n", " '_33',\n", " '_34',\n", " '_36',\n", " '_37',\n", " '_38',\n", " '_39',\n", " '_40',\n", " '_46',\n", " '_47',\n", " '_48',\n", " '_49',\n", " '_50',\n", " '_51']" ] }, "metadata": { "tags": [] }, "execution_count": 52 } ] }, { "cell_type": "markdown", "metadata": { "id": "wBWaLF7zpbRw", "colab_type": "text" }, "source": [ "---\n", "\n", "### Az N-edik bemenet _ibemenetszáma változóként is elérhető. _i53\n", "De ez csak akkor határozható, ha az N-edik cella létezik.\n", "\n", "Az előző bemenet értéke a `_i` -vel érhető el\n", "\n", "---" ] }, { "cell_type": "code", "metadata": { "id": "wIOOWEvlpbRx", "colab_type": "code", "colab": {}, "outputId": "7aab9c77-475b-4ceb-99ee-4a2d7016046a" }, "source": [ "_i53" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "\"_31 ## 31 kód cella kiírása (In[31]) ## tartalma : 'első kiírt szöveg'\"" ] }, "metadata": { "tags": [] }, "execution_count": 59 } ] }, { "cell_type": "code", "metadata": { "id": "yrbW1sn3pbR0", "colab_type": "code", "colab": {}, "outputId": "f9dd81bc-7d12-4f72-8fa0-ffbba57b08f1" }, "source": [ "_i " ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'_i53'" ] }, "metadata": { "tags": [] }, "execution_count": 60 } ] }, { "cell_type": "code", "metadata": { "collapsed": true, "id": "1SHmgyCTpbR3", "colab_type": "code", "colab": {}, "outputId": "7b4b9df5-7204-4d26-a541-fa3d0a13223f" }, "source": [ "##### Python2 nyelv elérése // cella szint\n", "%%python2\n", "## értelmező átváltása ha létezik\n", "print 12, 3" ], "execution_count": 0, "outputs": [ { "output_type": "error", "ename": "SyntaxError", "evalue": "Missing parentheses in call to 'print'. Did you mean print(12, 3)? (, line 4)", "traceback": [ "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m4\u001b[0m\n\u001b[1;33m print 12, 3\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m Missing parentheses in call to 'print'. Did you mean print(12, 3)?\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "ZXD3IEsMpbR7", "colab_type": "text" }, "source": [ "---\n", "\n", "## R nyelv használata\n", "\n", "---" ] }, { "cell_type": "code", "metadata": { "id": "KY20AYS_pbR-", "colab_type": "code", "colab": {}, "outputId": "4edaf07f-2996-4fcd-b9a3-a7bcde1d919c" }, "source": [ "##### R nyelv elérése // sor szint\n", "## %load_ext rpy2.ipython \n", "## Ez csak egyszerkell futtatni (osztály betöltés) FIGYI : Load sorba nem lehet semmi más még megjegyzés sem\n", "\n", "## Iris diagram\n", "%R plot(iris$Sepal.Width, iris$Sepal.Length)\n", "\n", "\n", "\n", "##%R c <- 1:2\n", "##%R d <- 1:3\n", "## %R print( c(c,d) )\n", "\n", "## Szinus görbe kirajzolása\n", "%R x <- seq(0, 2*pi, length.out=50)\n", "%R plot(x, sin(x))\n", "\n", "%R a <- 50 ## változó beállitása\n", "%R b <- -1 ## változó beállitása\n", "%R print(a+b) ## kiiratás\n", "\n" ], "execution_count": 0, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n" }, "metadata": { "tags": [] } }, { "output_type": "display_data", "data": { "image/png": "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\n" }, "metadata": { "tags": [] } }, { "output_type": "execute_result", "data": { "text/plain": [ "array([49.])" ] }, "metadata": { "tags": [] }, "execution_count": 129 } ] }, { "cell_type": "code", "metadata": { "id": "zkpNW3rBpbSC", "colab_type": "code", "colab": {}, "outputId": "fd0e49a3-2ee6-475f-e026-f0b940371a6e" }, "source": [ "## --------------------------- Tömb kezelés\n", "%R c <- 1:2\n", "%R d <- 1:3\n", "%R print(c(c,d) )\n", "\n" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([1, 2, 1, 2, 3], dtype=int32)" ] }, "metadata": { "tags": [] }, "execution_count": 131 } ] }, { "cell_type": "code", "metadata": { "id": "0cTEoiS-pbSG", "colab_type": "code", "colab": {}, "outputId": "25e98788-b733-4d2c-d800-243cdbd7b0e7" }, "source": [ "## ---------------------------- Vectorok\n", "%R vektor <- c(1, 2, 3, 10, 100) \n", "%R print(vektor) ## 1 2 3 10 100\n", "\n" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([ 1., 2., 3., 10., 100.])" ] }, "metadata": { "tags": [] }, "execution_count": 128 } ] }, { "cell_type": "code", "metadata": { "id": "pnXLt7nkpbSJ", "colab_type": "code", "colab": {}, "outputId": "d01b5a59-e625-4dfc-8ed0-9b86b3b7908f" }, "source": [ "# figyelmeztető üzenet elnyomása, ha van\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "#--- elemek 2x3 mátrixba töltése\n", "%R mat <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 3) \n", "%R print(mat )\n", "\n" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[1., 4.],\n", " [2., 5.],\n", " [3., 6.]])" ] }, "metadata": { "tags": [] }, "execution_count": 162 } ] }, { "cell_type": "code", "metadata": { "id": "2o_ZqP0DpbSM", "colab_type": "code", "colab": {}, "outputId": "a877cbc0-e8c9-428c-ae41-b4fcafeb9d53" }, "source": [ "## ---------------------------- transzláció (sor és oszlop felcserlése)\n", "%R mat <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2) \n", "%R print(t(mat)) " ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[1., 2.],\n", " [3., 4.],\n", " [5., 6.]])" ] }, "metadata": { "tags": [] }, "execution_count": 127 } ] }, { "cell_type": "code", "metadata": { "id": "1T1IOOvgpbSP", "colab_type": "code", "colab": {}, "outputId": "a9f0e2fc-dc4a-4ecb-8a02-751055464ec3" }, "source": [ "%R print(nchar(\"hello\")) # 5 \n" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([5], dtype=int32)" ] }, "metadata": { "tags": [] }, "execution_count": 121 } ] }, { "cell_type": "markdown", "metadata": { "id": "uhlz9Nj8pbSU", "colab_type": "text" }, "source": [ "---\n", "\n", "## javascript használata\n", "\n", "Cellaszintű mágikus parancs:\n", "`%%javascript` vagy `%%js`\n", "\n", "---" ] }, { "cell_type": "code", "metadata": { "id": "di8hgrsCpbSV", "colab_type": "code", "colab": {} }, "source": [ "" ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "HaqUmYdRpbSY", "colab_type": "code", "colab": {}, "outputId": "56785662-9b60-4e9e-f6e1-53600f3ab6b3" }, "source": [ "%%javascript\n", "element.text(\"Én már \" +58 + \" éves leszek idén.\")\n" ], "execution_count": 0, "outputs": [ { "output_type": "display_data", "data": { "application/javascript": [ "\n", "element.text(\"Én már \" +58 + \" éves leszek idén.\")\n" ], "text/plain": [ "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "BgeBMFFhpbSb", "colab_type": "code", "colab": {}, "outputId": "bc2cc290-a606-4945-fac5-df1b379ace2c" }, "source": [ "%%js\n", "element.text(\"1\" + 1)" ], "execution_count": 0, "outputs": [ { "output_type": "display_data", "data": { "application/javascript": [ "element.text(\"1\" + 1)\n" ], "text/plain": [ "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "1CjEdk8lpbSe", "colab_type": "text" }, "source": [ "---\n", "\n", "## HTML megjelenítés\n", "\n", "---" ] }, { "cell_type": "code", "metadata": { "id": "VZa5me6SpbSf", "colab_type": "code", "colab": {}, "outputId": "7c1079ea-22ba-4ce3-a480-5886eb4e7111" }, "source": [ "%%HTML \n", "\n", "

lajos

\n", "Ittvagyok\n", "
\n", "és itt is\n", "\n" ], "execution_count": 0, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "

lajos

\n", "Ittvagyok\n", "
\n", "és itt is\n", "\n" ], "text/plain": [ "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "Ul-VneylpbSj", "colab_type": "text" }, "source": [ "---\n", "\n", "## SVG megjelenítés\n", "\n", "---" ] }, { "cell_type": "code", "metadata": { "id": "Uohx6dm_pbSk", "colab_type": "code", "colab": {}, "outputId": "13d10cbd-5692-4fbb-a348-e64a704d5892" }, "source": [ "%%SVG \n", "\n", "\n", "\n", "\n", "\n" ], "execution_count": 0, "outputs": [ { "output_type": "display_data", "data": { "image/svg+xml": "\n\n\n", "text/plain": [ "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "ZjusrHkxpbSn", "colab_type": "code", "colab": {}, "outputId": "f0820c28-dab4-4150-feff-4abec4637b66" }, "source": [ "%%SVG \n", "\n", "\n", "\n", "\n", "\n", "" ], "execution_count": 0, "outputs": [ { "output_type": "display_data", "data": { "image/svg+xml": "\n\n\n\n\n", "text/plain": [ "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "Ecp6JldjpbSp", "colab_type": "code", "colab": {}, "outputId": "7ce5ba20-fd6a-4019-96cb-a648dc72c6a8" }, "source": [ "%%python2\n", "\n", "import sys\n", "import math\n", "\n", "max_i = sys.maxint\n", "print(max_i, math.log(max_i, 2))" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Couldn't find program: 'python2'\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "J-_pM5rJpbSs", "colab_type": "text" }, "source": [ "---\n", "\n", "## Az egyes algoritmusok gyorsaságának vizsgálata\n", "\n", "`%%timeit` mágikus parancs használatával\n", "\n", "---" ] }, { "cell_type": "code", "metadata": { "id": "HRxVxDf6pbSt", "colab_type": "code", "colab": {} }, "source": [ "import urllib.request\n", "from collections import defaultdict, Counter\n", "\n", "wp_url = \"https://en.wikipedia.org/wiki/Budapest\"\n", "text = urllib.request.urlopen(wp_url).read().decode('utf8')\n", "words = text.split()" ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "pHCHx94GpbSx", "colab_type": "code", "colab": {}, "outputId": "fb5a53e7-ee2b-4dd1-dfcb-69c5c81311df" }, "source": [ "%%timeit\n", "word_freq = {}\n", "for word in words:\n", " if word not in word_freq:\n", " word_freq[word] = 1\n", " else:\n", " word_freq[word] += 1" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "6.63 ms ± 302 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "CYemcCrgpbS0", "colab_type": "code", "colab": {}, "outputId": "80db4d41-41b7-4191-c1d2-6c8cc1108cd3" }, "source": [ "%%timeit\n", "word_freq = {}\n", "for word in words:\n", " try:\n", " word_freq[word] += 1\n", " except KeyError:\n", " word_freq[word] = 1" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "9.66 ms ± 740 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "64y1VSGYpbS3", "colab_type": "code", "colab": {}, "outputId": "41da30cf-fd64-48a0-cb11-6d29bdf0a9c6" }, "source": [ "%%timeit\n", "word_freq = {}\n", "for word in words:\n", " word_freq.setdefault(word, 0)\n", " word_freq[word] += 1" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "9.58 ms ± 1.14 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "5OXNEQhwpbS6", "colab_type": "code", "colab": {}, "outputId": "a8264223-20d8-44fa-c08c-8bcf623445be" }, "source": [ "%%timeit\n", "word_freq = defaultdict(int)\n", "for word in words:\n", " word_freq[word] += 1" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "8.64 ms ± 1.29 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "QaMuYgyHpbS8", "colab_type": "code", "colab": {}, "outputId": "33a0a0b0-6b82-4773-9e2d-f184380f6122" }, "source": [ "%%timeit\n", "word_freq = Counter(words)" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "3.68 ms ± 96.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "J_TPeEPdpbTB", "colab_type": "code", "colab": {}, "outputId": "64626f20-fccd-4b0b-8fc9-172dd47e5f0c" }, "source": [ "## első 20 találat megjelenítése\n", "for word, freq in sorted(word_freq.items(), key=lambda x: -x[1])[:20]:\n", " print(word, freq)" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "the 1247\n", " 270\n", "– 269\n", "is 244\n", "rel=\"mw-deduplicated-inline-style\" 242\n", "class=\"citation 238\n", "class=\"Z3988\">