{ "metadata": { "name": "", "signature": "sha256:457be608834c945207ce27a07465cd73e1dedc3782e911122a7af60b2d961d6d" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "\u041c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u041c\u043e\u0434\u0443\u043b\u0438" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0410\u0432\u0442\u043e\u0440: \u0428\u0430\u0431\u0430\u043d\u043e\u0432 \u041f\u0430\u0432\u0435\u043b\n", " \n", "E-mail: meteomail@yandex.ru" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**ABSTRACT**\n", "\n", "`\u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u044f\u0437\u044b\u043a\u0430 python \u043b\u0435\u0436\u0438\u0442 \u0438\u0434\u0435\u043e\u043b\u043e\u0433\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430 python - \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u0435\u0439. \u0412 \u044d\u0442\u043e\u0439 3 \u0447\u0430\u0441\u0442\u0438 \"\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430\" \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u043c\u043e\u0434\u0443\u043b\u044f\u0445, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u0430\u0436\u043d\u044b\u0445 \u0430\u0441\u043f\u0435\u043a\u0442\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0430 python`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**I. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0413\u043b\u0430\u0432\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438\u044f \u043b\u044e\u0431\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u043f\u043e\u0434\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c (\u043a\u0430\u043a \u0432\u043d\u0435\u0448\u043d\u0438\u0445, \u0442\u0430\u043a \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445). \u042d\u0442\u043e \u0432\u0435\u0440\u043d\u043e \u0438 \u0434\u043b\u044f python, \u0433\u0434\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443\n", "\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 - \u044d\u0442\u043e \u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c \"py\", \u0433\u0434\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0432\u044b\u0434\u0430\u0441\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \"main\" (\u043d\u0438\u0436\u043d\u0438\u0435 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0436\u043d\u044b):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "if(__name__ == \"__main__\"):\n", " print 'It is a main programm module-file'\n", "else:\n", " print 'It is just a module'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "It is a main programm module-file\n" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0417\u0434\u0435\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \"name\" \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0433\u043b\u0430\u0432\u043d\u044b\u043c, \u0442\u043e \u0435\u0441\u0442\u044c \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439, \u0438\u043b\u0438 \u043d\u0435\u0442. \u0412 python \u043c\u043e\u0434\u0443\u043b\u044c \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043f\u043e \u0441\u0443\u0442\u0438, \u0441\u0438\u043d\u043e\u043d\u0438\u043c\u044b. \u0412\u0441\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b - \u043c\u043e\u0434\u0443\u043b\u0438. \u0414\u0440\u0443\u0433\u043e\u0435 \u0434\u0435\u043b\u043e, \u0447\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u0434, \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u043d\u044b\u0439 \u0432 \u0432\u0438\u0434\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b import:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "print 'PI number is %.10f' % math.pi # formatted output" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "PI number is 3.1415926536\n" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Python \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0438 \u0432 \u0443\u0441\u0435\u0447\u0435\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435: \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u043e\u0432 \u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u044b\u0437\u043e\u0432\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u044f.\n", "\u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u043c\u043e\u0434\u0443\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f, \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math # without using short name\n", "print math.pi\n", "\n", "import math as m # using short name\n", "print m.pi" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "3.14159265359\n", "3.14159265359\n" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u044f, \u0442\u0430\u043a \u043d\u0443\u0436\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u0430, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u0434 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0435 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0422\u0430\u043a\u043e\u0439 \u0432\u044b\u0437\u043e\u0432 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0441\u0443\u0448\u0435\u0441\u0442\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \"from ... import\". \u042d\u0442\u0443 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 (\u0434\u043b\u044f \u0447\u0438\u0441\u043b\u0430 \u043f\u0438 \u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e, \u043d\u043e \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 - \u0441\u043f\u0430\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math # without using short name\n", "print math.pi\n", "\n", "from math import pi, cos # using from \n", "print pi\n", "print 'cos: %f' % cos(0.0) # formatted output\n", "\n", "from math import pi as pin # using from & as\n", "print pin\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "3.14159265359\n", "3.14159265359\n", "cos 1.000000\n", "3.14159265359\n" ] } ], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043c\u043e\u0434\u0443\u043b\u044f \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u043c\u044f \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0443\u0435\u043c\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from math import *\n", "print sin(1.0)\n", "print pi" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.841470984808\n", "3.14159265359\n" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u0432 \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443. \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e reload(). \u041d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e from \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b, \u043a\u0430\u043a \u0438 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430 fortran90." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**II. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438** " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u041f\u043e\u043d\u044f\u0432, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043c\u043e\u0434\u0443\u043b\u0438, \u043a\u0430\u043a \u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0438 \u043a\u0430\u043a \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c, \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 - \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0438 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u0438 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e - \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \"scimod\" \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c \"py\", \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0442\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 - \u0432\u0443\u0430\u043b\u044f - \u0432\u0441\u0451 \u0433\u043e\u0442\u043e\u0432\u043e! \u0417\u0434\u0435\u0441\u044c \u044d\u0442\u043e \u0442\u0440\u0443\u0434\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u043d\u043e \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e. \u041f\u043e\u043b\u043e\u0436\u0438\u043c, \u0444\u0430\u0439\u043b \"scimod.py\" \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy import stats\n", "\n", "def trend(x,y,out='spv'):\n", "\n", " '''\n", " From given vectors 'x' and 'y' linear trend components are calculated \\n\n", "\n", " **INPUT:** \\n\n", " `x [np.ma.arr]` - numpy 1D array of values \\n\n", " `y [np.ma.arr]` - numpy masked 1D array of values \\n\n", " `char [str]` - defines the calculated parameter (sum, mean \\\n", " and so on)(default='mean') \\n\n", " `anom [bool]` - switch array values into anomalies divided on std \\\n", " (default=False) \\n\n", " **OUTPUT:** \\n\n", " `slope [float]` - slope koef. \\n\n", " `p_value [float]` - p_value \\n\n", " `sig [float]` - shows alpha-level, where trend is \\\n", " statistically significant \\n\n", " \n", " Author: Pavel Shabanov \\n\n", " Email: meteomail@yandex.ru \\n\n", " Blog: http://geofortran.blogspot.ru \\n\n", " \n", " ''' \n", " slope, intercept, r_value, p_value, std_err = stats.mstats.linregress(x,y)\n", "\n", " ss = np.arange(1.0,0.00,-0.01)\n", " for i in ss:\n", "# print p_value, i\n", " if (p_value < i): \n", " sig = i\n", "\n", " if (out == 'all'):\n", " return slope, intercept, r_value, p_value, std_err\n", " elif (out == 'ab'):\n", " return slope, intercept\n", " elif (out == 'spv'):\n", " return slope, p_value\n", " elif (out == 'pv'):\n", " return p_value\n", " elif (out == 's'):\n", " return slope\n", " elif (out == 'spvr'):\n", " return slope, p_value, r_value**2 \n", " else:\n", " return slope, p_value, sig\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u042d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e scimod \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e trend, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043c\u043e\u0434\u0443\u043b\u044c scipy, \u0430 \u0442\u043e\u0447\u043d\u0435\u0435 \u043d\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e linregress. \u041f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 linregress \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u044f scipy \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "import scipy.stats.mstats.linregress as linetr" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438 \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0443\u0436\u043d\u043e \u0432 \u043d\u043e\u0432\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c \".py\", \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \"main.py\", \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "\n", "import scimod as sm\n", "\n", "x1 = np.arange(10)\n", "y1 = np.random.random(10)\n", "print x1,y1\n", "a,b = sm.trend(x1,y1,out='ab')\n", "print 'A: %f | B: %f' % (a,b)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "ImportError", "evalue": "No module named scimod", "output_type": "pyerr", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mscimod\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0msm\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mx1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mImportError\u001b[0m: No module named scimod" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0423\u0432\u044b, \u043c\u043e\u0434\u0443\u043b\u044f (\u0442\u043e \u0435\u0441\u0442\u044c \u0444\u0430\u0439\u043b\u0430) \u0441 \u0442\u0430\u043a\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0435\u0442 \u0432 \u0437\u0434\u0435\u0448\u043d\u0435\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u044f \u043f\u0438\u0441\u0430\u043b, \u0433\u0434\u0435 python \u0438\u0449\u0435\u0442 \u043c\u043e\u0434\u0443\u043b\u0438. \u0412 \u044d\u0442\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0443 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u0440\u0435\u0434\u044b PYTHONPATH \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f sys.path \u043c\u043e\u0434\u0443\u043b\u044f sys. \u041e\u0442\u0441\u044e\u0434\u0430 \u0432\u044b\u0432\u043e\u0434, \u0447\u0442\u043e \u043d\u0435 \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u043c\u0435\u0441\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 python \u0438\u0449\u0435\u0442 \u043c\u043e\u0434\u0443\u043b\u0438. \u0418\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u044b PYTHONPATH \u043f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435, \u0433\u0434\u0435 \u0431\u0443\u0434\u0443\u0442 \u043b\u0435\u0436\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438. \u0422\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u043d\u043e\u0433\u0430\u043c\u0438 \u0432 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0430\u043f\u043a\u0430\u0445 \u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043b\u044e\u0431\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**III. \u041a\u0430\u043a \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 python**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0412 Python \u0435\u0441\u0442\u044c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u043a \u043d\u0430\u0434\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434. \u041e\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f PEP8 \u0438 \u0438\u0434\u0435\u0430\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442 \u043a \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0434\u0437\u0435\u043d-\u043f\u0438\u0442\u043e\u043d\u0430, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u0441\u0442\u0443\u043b\u0430\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435. \u0420\u0443\u0441\u0441\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 PEP8 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u0434\u0435\u0441\u044c: http://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\u041f\u0440\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0442\u0430\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:\n", "\n", "-------------------\n", "\u0418\u043c\u043f\u043e\u0440\u0442\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0444\u0430\u0439\u043b\u0430, \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043a \u043c\u043e\u0434\u0443\u043b\u044e \u0438 \u0441\u0442\u0440\u043e\u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0438 \u043f\u0435\u0440\u0435\u0434 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442.\n", "\n", "\u0418\u043c\u043f\u043e\u0440\u0442\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435:\n", "\n", "1. \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438\n", "2. \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\n", "3. \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430\n", "-------------------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0438\u043c\u043f\u043e\u0440\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0444\u0430\u0439\u043b\u0430, \u043f\u043e\u0441\u043b\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 (math, dateime \u0438 \u0434\u0440.) \u0438 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 (numpy, matplotlib \u0438 \u0434\u0440.) \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u0410\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043e\u043f\u044b\u0442 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044f\u043c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e. \u0422\u043e \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438-\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u0443 \u043a\u0443\u0447\u0443, \u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438-\u0440\u0438\u0441\u043e\u0432\u0430\u043b\u043a\u0438 - \u0432 \u0434\u0440\u0443\u0433\u0443\u044e. \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0441 \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \"brash.py\":" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "def graph2d(x, y, color='black',legend=False):\n", " '''\n", " \u042d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0440\u0438\u0441\u0443\u0435\u0442 \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e \u0434\u0432\u0443\u043c \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c.\n", " **INPUT:**\n", " `x [np.array] - argument, time`\n", " `y [np.array] - function`\n", " `color [str] - graph color (Default: 'black')`\n", " `legend [bool] - print or not graph legend (Default: False)`\n", " **OUTPUT:**\n", " `picture` - 2D graph\n", " '''\n", " \n", " xy = plt.plot(x,y,color,label='Random')\n", "# xy2 = plt.plot(x,y-0.5,color) \n", " plt.grid(True)\n", " plt.ylabel('Y')\n", " plt.xlabel('Time')\n", " plt.xlim(x[0],x[-1])\n", " if(legend):\n", " plt.legend(frameon=False, loc='best')\n", " \n", " plt.show()\n", "\n", "# ----- PROGRAM BODY ----- \n", "# Testing our module\n", "\n", "N = 10\n", "x1 = np.arange(N)\n", "y1 = np.random.random(N)\n", "pic = graph2d(x1,y1, color='red',legend=True)\n", "print '\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 graph2d:', graph2d.__doc__" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 graph2d: \n", " \u042d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0440\u0438\u0441\u0443\u0435\u0442 \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e \u0434\u0432\u0443\u043c \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c.\n", " **INPUT:**\n", " `x [np.array] - argument, time`\n", " `y [np.array] - function`\n", " `color [str] - graph color (Default: 'black')`\n", " `legend [bool] - print or not graph legend (Default: False)`\n", " **OUTPUT:**\n", " `picture` - 2D graph\n", " \n" ] } ], "prompt_number": 47 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432! =) \u0418 \u0434\u0430, \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435\u0442 return, \u0442\u043e \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 None. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u044d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0438\u0441\u0443\u043d\u043e\u043a \u0432 \u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b\u0430." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**IV. \u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043c\u043e\u0434\u0443\u043b\u0438 \u0432 python - \u044d\u0442\u043e \u043b\u0435\u0433\u043a\u043e \u0438 \u043f\u0440\u043e\u0441\u0442\u043e! \u0410 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e! \u041d\u0443\u0436\u043d\u043e \u043b\u0438\u0448\u044c \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0438 \u043e\u0447\u0435\u043d\u044c \u0441\u043a\u043e\u0440\u043e \u0432\u0430\u0448\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441\u0442\u0430\u043d\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u043b\u0435\u0433\u043a\u043e\u0439, \u043a\u043e\u0434 - \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u043c, \u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0434\u0435\u043b - \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u043c. \u041b\u0451\u0433\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b! " ] } ], "metadata": {} } ] }