|
||||||||||||||||||||||||||||||||||||||
|
Уроки IPython Notebook — TechCave. Jupiter notebook не открывается в браузереJupyter NotebookJupyter Notebook - популярнейшая бесплатная интерактивная оболочка для языка программирования Python, позволяющая объединить код, текст и диаграммы, и распространять их для других пользователей. Раньше она называлась IPython Notebook, но название сменили, чтобы подчеркнуть совместимость не только с Python, но и другими языками программирования. Это крайне удобный инструмент для проведения экспериментов (как чисто математических, так и связанных с обработкой данных от приборов) и оформления результатов в виде профессиональных научных статей. А вообще человечество нашло ему бесчисленные применения - от дизайна электронных схем до обработки астрономических фотографий. Существует несколько вариантов использования Jupyter онлайн, без установки программ. Но они либо платные, либо медленные и имеют весьма ограниченные возможности. Самый простой вариант находится здесь. Поэтому лучше всего установить Jupyter на свой компьютер и ни от кого в этом плане не зависеть. Тем более, что это просто. Добрые люди из фирмы Continuum Analytics собрали Python, Jupyter (и более 400 математических, научных, инженерных и аналитических расширений для них) в один пакет, называемый Anaconda. Установка Jupyter NotebookСкачайте и установите всё необходимое одним файлом по ссылке для своей операционной системы: Запускаем Jupyter NotebookПосле обыкновенного процесса установки в меню Программы должна появиться папка Anaconda и в ней ряд интересных вещей. Можете поразбиратсья с ними самостоятельно, а нас сейчас интересует только IPython (Py 3.4) Notebook. При нажатии на нее происходит две вещи:
Чёрное окошко это сама программа, которая проводит все вычисления. На него, в принципе, можно не обращать внимания. Однако если его закрыть, то Jupyter не будет работать. Так что можно его свернуть или просто оставить на заднем плане. А в браузере мы видим систему навигации по файлам и папкам. Тут всё интуитивно понятно. Давайте создадим свой файл. Для этого справа вверху нажмите кнопку New. Здесь можно создать текстовые файлы (Text File), папки (Folder) и, самое интересное: тетради (Notebooks). У нас по умолчанию установлен язык програмирования Python 3, поэтому можно создать только такую тетрадь. Если Вы программируете на разных языках, то можете настроить систему так, чтобы выбирать нужный в данный момент язык. Итак, выбираем Python 3. В браузере открывается новая вкладка. Это и есть наша новая чистая тетрадь. Вверху расположены разнообразные элементы управления, а зеленым выделена единственная пока ячейка. Да, тетради здесь состоят из ячеек. Это очень удобно. Настолько удобно, что люди, как правило, перестают пользоваться текстовыми редакторами типа Word и пишут в этих тетрадках не только программы, но и всё подряд - от книг до научных статей. Собственно, все материалы проекта OpenFabLab написаны именно так. Работа в Jupyter NotebookДавайте что-нибудь напишем в нашей ячейке. Ну, хоть что нибудь. Например, 2+2 Теперь для запуска кода на исполнение нажмите вот такую кнопку: И получите результат: Внизу нашей ячейки появилось поле с результатом. Кроме того, вы видите метки In[1] и Out[1]. Эти метки, как мы ещё увидим, позволяют использовать содержимое ячеек в дальнейших вычислениях. А ещё возникла новая ячейка - для новых задач. Можно задать здесь что-то новое, а можно отредактировать программный код в старой ячейке и запустить ее заново. Ну, например, давайте узнаем чему равно 123456789. В языке Python умножение обозначается знаком звездочки: *, а возведение в степень - двойной звездочкой: ** После того, как я набрал это выражение и запустил его, опять возникла новая ячейка. Но вместо ответа слева от задания появилась метка со звездочкой: In[*] Это значит, что программа находится в процессе вычислений. Ну это логично - выражение мы задали не самое простое. А через несколько секунд появился результат. Содержащий сотни тысяч цифр! Они, конечно, не уместились на экран и поэтому справа видна полоса прокрутки для пролистывания ответа. Вы можете самостоятельно поразбираться в назначении различных кнопок и пунктов меню. Все они, пожалуй, интуитивно понятны. Единственное, что я обнаружил случайно - это удобное переименование файла путем клика по его названию (название отображается рядом с логотипом Jupyter, для новых файлов это обычно что-то вроде Untitled1). Файлы тетрадей хранятся с расширением .ipynb и представляют собой набор данных в формате JSON. Это довольно удобно для их машинной обработки в сети. Обучение работе с Jupyter NotebookОбъем интересной информации, приемов, советов и инструкций по работе с Jupyter Notebook соответствует почти безграничным возможностям языка Python, помноженным на колективный разум огромного сообщества разработчиков и пользователей Jupyter. Это делает нереальным и неэффективным описание их в какой-либо одной статье или справочнике. Поэтому мы рекомендуем использовать механизм интерактивного онлайн-курса OpenFabLab для пошагового и, в то же время, целенаправленного знакомства с возможностями этого мощного инструмента. Установите Jupyter Notebook и начните с задачи № 163, а потом система сама будет предлагать новые задания, учитывая уже полученные вами знания. Другие статьи сайта Научно-технический онлайн-курс Научно-технический конструктор freecad.ru Web-оболочка Jupyter Notebook | Реальные заметки Ubuntu & WindowsСегодня я попытаюсь познакомиться со средой веб-оболочки применительно к интерактивному интерпретатору ipython. Данная среда именуется, как Ipython Notebook, вроде как с ее помощью можно писать код и в тоже время удобно его отображать для просмотра, как для для демонстрации. Я не претендую на 100% подачу материала, меня привлекло название и я попробовал разобрать в меру своих возможностей что есть что. Что же посмотрим так ли это на самом деле и что у меня получится. ekzorchik@desktop:~$ uname -a && lsb_release -a Linux desktop 4.4.0-62-generic #83~14.04.1-Ubuntu SMP Wed Jan 18 18:10:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty ekzorchik@desktop:~$ sudo apt-get install python2.7 python-pip python-dev -y ekzorchik@desktop:~$ python --version Python 2.7.6 ekzorchik@desktop:~$ pip --version pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7) ekzorchik@desktop:~$ curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" ekzorchik@desktop:~$ sudo python get-pip.py ekzorchik@desktop:~$ pip --version pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7) ekzorchik@desktop:~$ sudo apt-get install ipython ipython-notebook -y ekzorchik@desktop:~$ sudo pip install jupyter Запускаю Jupyter Notebook: ekzorchik@desktop:~$ whereis jupyter jupyter: /usr/local/bin/jupyter ekzorchik@desktop:~$ sudo jupyter notebook Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=4e8deafa3f6a873639594dfabe2cfe17efd5152d7a174c91 Копирую после чего данную гиперссылку в браузер Mozilla Firefox и вот она записная книжка: Отобразить от имени кого запущена записная книжка и какой идентификатор авторизации: ekzorchik@desktop:~$ jupyter notebook list Currently running servers: http://localhost:8888/?token=b68b70673ca317f8555794fb7d2565777bca3dbb25c47e29 :: /home/ekzorchik Но вот только доступ в записную книжку возможен лишь локально на этой рабочей станции, а чтобы получить доступ с других систем, то нужно чтобы серверная часть была запущена с применением этого ключа: ekzorchik@desktop:~$ jupyter notebook --ip='*' А закрыть предыдущую открытую записную книжку можно по сочетанию клавиш Ctrl + C в том открытом окне командной строки. Пробую подключить с другой системы к этой, а в ответ окно авторизации и какой же пароль нужно указывать: А пароль получается из вывода выше команды: jupyter notebook list Вот к примеру уже две записной книжке можно запустить: ekzorchik@desktop:~$ jupyter notebook list Currently running servers: http://localhost:8889/?token=84013de600c817e6cd27a4339d713f529448a80ae50b3c54 :: /home/ekzorchik http://localhost:8888/?token=b68b70673ca317f8555794fb7d2565777bca3dbb25c47e29 :: /home/ekzorchik Выключаю одну: Ctrl + C Serving notebooks from local directory: /home/ekzorchik 0 active kernels The Jupyter Notebook is running at: http://[all ip addresses on your system]:8889/?token=84013de600c817e6cd27a4339d713f529448a80ae50b3c54 Shutdown this notebook server (y/[n])? y [C 15:34:50.057 NotebookApp] Shutdown confirmed [I 15:34:50.058 NotebookApp] Shutting down kernels Создаю в первом окне python скрипт: New — Text File #!/usr/bin/env python import subprocess print "Uname" def uname_function(): uname = "uname" uname_args = "-a" print "Information about system\n" subprocess.call([uname,uname_args]) uname_function() Сохраняю: File — Save Открываю консоль командной строки, да прямо из Web—интерфейса: New — Terminal ekzorchik@desktop:~$ pwd /home/ekzorchik ekzorchik@desktop:~$ ls Desktop Documents Downloads examples.desktop Music Pictures Public Templates test.py Videos ekzorchik@desktop:~$ ekzorchik@desktop:~$ chmod +x test.py ekzorchik@desktop:~$ ./test.py Uname Information about system Linux desktop 4.4.0-62-generic #83~14.04.1-Ubuntu SMP Wed Jan 18 18:10:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Но я если честно не догнал, как я могу использовать данную записную книжку именуемую как Jupyter. А нет, спустя некоторое время я осознал что это не так. Я могу писать код, сохранять его в рабочем каталоге и одновременно тестировать его работу, плюс могу показать как и что я делаю в Web-ориентированном представлении. Ну как-то так. Хотя есть такое высказывание: если непонятно, зачем она, то скорее всего она вам не нужна. Вот это как раз и про меня. А потому закругляюсь, с уважением автор блога Олло Александр aka ekzorchik. www.ekzorchik.ru IPython Notebook - Re9ulus BlogIPython Notebook - это интерактивная среда для программирования на языке python, которая позволяет объединить код, текст (включая Markdown), графики, математические формулы (MathJax) и скомбинировать все в одном отчете. Отчет можно конвертировать в html, LaTeX, pdf и другие форматы. Удобный инструмент для ведения исследований, заметок, конспектов и тому подобного. Существуют статьи и учебные материалы распространяемые в качестве ноутбуков. 1 способСамым простым способом установки является использование python дистрибутива Anaconda, содержащего более 300 научных python пакетов, включая Ipython. 2 способДля установки на *nix системах pip install ipython[all]Для установки на windows необходимо последовательно установить:
Для запуска ноутбука необходимо в терминале выбрать директорию, где будут храниться заметки и воспользоваться командой ipython notebookНа 8888 порту будет запущен локальный сервер и в браузере откроется страница с ноутбуком.
Новый документ можно создать с помощью выпадающего меню.
После чего будет создан новый, пустой документ. Переименовать документ можно нажав на строку Untitled, либо через меню File->Rename.
Документ сохраняется автоматически и правильно понимает сочетание Ctrl-S. Код в Ipython документах организован в ячейки (cells). По нажатии Ctrl-Enter код в ячейке выполняется и результат вычислений отображается под ней.
Ячейка может относиться к одному из нескольких типов. Выбрать тип ячейки можно используя пункт меню Cell->Cell Type. Code cellПозволяет писать и редактировать код с подсветкой синтаксиса и автоподстановкой (Tab). После добавления директивы %matplotlib inlineв начале ячейки, появляется возможность строить графики прямо в документе. %matplotlib inline import matplotlib.pyplot as plt import matplotlib.image as mpimg import numpy as np img=mpimg.imread('city.jpg') print "Image size: {0}".format(img.shape) # Select green channel img_green = img[:,:,1] plt.imshow(img_green, cmap="Greys_r") plt.show() # Plot green channel row intensity plt.plot(img_green[150, :]) plt.show()
Markdown cellЯчейки для документирования, позволяют использовать Markdown синтаксис и математические формулы MathJax. ### h4 title for the text ### TODO List: 1. Create note about IPython notebook. 2. Add part about Markdown. 3. Do not forget about MathJax. 4. Add table in the end. <h5>An Identity of Ramanujan</h5> $$ \frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\ldots} } } } $$ #### Simple table | Tables | True | False | | ------ |:-----:| -----:| | True | 78 | 14 | | False | 3 | 45 |
Raw cellЭти ячейки служат для хранения дополнительной информации, никак не исполняются и не модифицируются. Например в них можно хранить LaTeX для статьи. Конвертировать ноутбук можно командой ipython nbconvert --to FORMAT notebook.ipynbДопустимые форматы:
re9ulus.github.io Анализ данных (Программная инженерия)/Установка и настройка Python — WikiМатериал из Wiki - Факультет компьютерных наук WindowsУстановка готового пакетаМожно отдельно установить Python и все необходимые библиотеки и надстройки, однако это слишком долго. Поэтому воспользуемся уже собранным пакетом Python(X,Y).
По непонятным причинам в некоторых случаях установка происходит довольно криво. Попробуйте выполнить следующие команды в своем Python: import numpy numpy.test()Юнит-тесты могут сразу показать, все ли хорошо. Аналогично их стоит запустить для библиотек pandas, pylab, sklearn. Если вдруг вываливается ошибка, то можно попробовать установить Python и библиотеки другим способом. Установку вручнуюМинимальный набор для работы:
Лучше ставить 32-битные версии, поскольку 64-битные не всегда работают корректно под Windows. Обратите внимание, что некоторые библиотеки будут иметь дополнительные зависимости в виде других библиотек, их тоже придется поставить. Запуск IPython NotebookПопробуем запустить IPython Notebook. Для этого запустим командную строку (нажать win+R и ввести cmd), и введем ipython notebook --pylab inline. Должен открыться браузер с запущенным из текущей директории IPython Notebook. Все ноутбуки будут сохраняться в текущую директорию, из которой был вызван IPython Notebook. Mac OS X и LinuxMac OSУстановка Python через brewофициального сайта Если у вас нет питона, то придется поставить brew с вытекающей от туда установкой Xcode. Следуйте указаниям с сайта Homebrew и у вас все получится. Устанавливаем свежую версию Python и virtualenv: brew install python --with-brewed-opensslУстанавливаем фортран (нужен для сборки NumPy и SciPy): brew install gcc pkg-config freetypeСоздаем виртуальное окружение: pip install virtualenv virtualenv shad-env source shad-env/bin/activateУстанавливаем необходимые пакеты питона: pip install ipython[notebook] numpy scipy pandas scikit-learn matplotlibРучная установка PythonМожно попробовать поставить все вручную, список необходимых библиотек см. в разделе для Windows. Сторонний туториалТуториал. LinuxДля сохранения здоровья, используйте Ubuntu 12.04 LTS или выше. Устанавливаем необходимые тулзы для Python: sudo apt-get install python-pip python-dev python-virtualenv build-essentialУстанавливаем пакеты, необходимые для сборки NumPy, SciPy и Matplotlib: sudo apt-get install libatlas-base-dev gfortran sudo apt-get build-dep python-matplotlibСоздаем виртуальное окружение питона (virtualenv). virtualenv shad-env source shad-env/bin/activateСтавим необходимые для курса пакеты: pip install ipython[notebook] numpy scipy pandas matplotlib scikit-learnПочему не сделать apt-get install Вы можете сделать что-то вроде sudo apt-get install ipython-notebook python-numpy python-scipy python-pandas python-matplotlibи установить питоновские пакеты в систему из репозитория Debian. Однако, пакеты debian содержат достаточно старые версии python-пакетов (к примеру, IPython Notebook у вас будет значительно менее модный). Свежие версии загружаются утилитой pip из репозитория PyPI. Запуск IPython NotebookДля того, чтобы графики встраивались в отчёт, а не открывались в отдельном окне, IPython Notebook нужно запускать следующим образом: ipython notebook --pylab inlineЛибо в уже запущенном Notebook выполнить %pylab inlineИспользование virtualenvvirtualenv позволяет заключить в отдельный каталог необходимые версии python-пакетов и использовать только их. Используя virtualenv, Вы можете устанавливать свежие версии пакетов из Python Package Index, при этом не получить проблем с несовместимостью версий пакетов с установленными в системе. Нормальным решением также является установка python-пакетов через pip в системные каталоги. Для этого не нужно ничего с virtualenv, но запускать pip при этом следует от рута: sudo pip install ipython[notebook] numpy scipy pandas matplotlib scikit-learnНо напоминаем, пакеты могут конфликтовать с системными, может фейлиться сборка, могут импортироваться старые версии и возникать другие проблемы... Для создания виртуального окружения необходимо сказать virtualenv yourenvпри этом будет создан каталог yourenv с чистым окружением без каких либо пакетов. Для использования виртуального окружения можно использовать команды из соответствующего каталога: yourenv/bin/python script.py yourenv/bin/pip install ... # установка пакетов в виртуальное окружение yourenv/bin/ipythonДля того чтобы не говорить префикс yourenv/bin, удобно в текущей сесии командной строки выставить необходимые переменные окружения (активировать виртуальное окружение): source yourenv/bin/activate (yourenv)$ pip install ... # установка пакетов в виртуальное окружение (yourenv)$ ipythonПосле активации, у приглашения командной строки появится префикс (yourenv). Для того, чтобы деактивировать виртуальное окружение, необходимо сказать (yourenv)$ deactivate python # префикс пропал, python будет выполняться в системном окруженииwiki.cs.hse.ru Уроки IPython Notebook — TechCaveУроки по IPython Notebook от Roshan. Видео уроков на английском языке. 1. Блокноты и ячейкиЭто первый урок по IPython Notebook. Мы рассмотрим основы управления блокнотами (notebooks) и работу со всеми типами ячеек (cells). Ячейками markdown, ячейками с кодом, ячейками с типом RAW NBConvert и ячейками заголовков. Познакомимся с магическими кодами IPython. Магическим кодом для IPython в этом уроке будет $$bash. Он позволяет сделать так, чтобы код ячейки мог выполняться в bash. Это дает возможность пользователю получить доступ к терминалу из блокнота IPython. Ссылка на блокнот 2. Markdown и LaTeXЯчейки markdown в IPython Notebook используются для документирования блокнота. Мы в этом уроке рассмотрим markdown код для заголовков, ссылок, изображений, таблиц. Мы также коснемся языка LaTeX для блокнотов IPython. Увидим как пишется LaTeX код для простых математических операций, индекса, степени, суммы и интеграла. Мы рассмотрим также два способа записи дробей на языке LaTeX. Ссылка на блокнот 3. Основы PythonВ этом уроке мы рассмотрим работу с ячейками кода, магией IPython и получение справки о ваших объектах с помощью object?, object?? и help(object). Другие магические коды IPython, которые будут использоваться в этом уроке: %quickref, %lsmagic %timeit и %%timeit. Наконец, мы рассмотрим списки In[] и Out[] и использование подчеркивания для доступа к последнему значению списка Out[]. Ссылка на блокнот 4. Основы NumPyУрок посвященный NumPy, с использованием среды разработки IPython Notebook. Мы сравним производительность ndarray и списков python в основных математических операциях. Также будем использовать IPython магию: %timeit, %%timeit и %%capture. Мы рассмотрим наиболее распространенные функции NumPy: Создание списков
Статический анализ
Работа с массивами Ссылка на блокнот 5. Построение диаграмм с помощью MatplotlibМы построим диаграмму с помощью Matplotlib используя matplotlib.pyplot. Попрактикуемся в создании диаграмм, управлении стилем и цветом линий. Поработаем с функциями plt.figure () и fig.add_subplot(111). Разберемся с добавлением маркеров точек и изменением их стиля, цвета и размера. Научимся изменять названия осей диаграмм. Наконец, используем plt.imshow (), чтобы визуализировать 2-мерный массив. Ссылка на блокнот 6. Виджеты IPythonУрок посвящен использованию виджетов для взаимодействия кода питона с веб-браузером. IPython виджеты могут использовать интерактивные функции для того, чтобы получить красивые веб-виджеты на HTML, Javascript и CSS, которые будут работать совместно с вашим кодом на Python. Ссылка на блокнот 7. PandasPandas является мощной и простой в использовании библиотекой для анализа данных. Мы поработаем с Series и DataFrame объектами. Рассмотрим основные операции any(), all() и логические функции для Series булевского типа. Также поработаем с apply(), astype(), и copy(). На примере DataFrame мы поговорим о выборке данных, добавлении столбцов, фильтрации и фильтрах «И &», «ИЛИ |». Мы также рассмотрим функции, такие как map() и drop() и как задавать свои параметры отображения pd.options.display, устанавливать max_rows, max_columns и notebook_repr_html. Также рассмотрим pd.scatter_matrix(), для того, чтобы визуализировать DataFrame. В заключении, мы считаем цены на акции от Google finance в виде файла CSV и сделаем простой анализ этих данных. Ссылка на блокнот 8. SymPySymPy позволяет работать с символьной математикой в Python. Мы рассмотрим symbols() и Symbol(), чтобы определять переменные. Rational(), чтобы задавать дробные числа и N() для перевода в десятичный вид. Мы будем использовать subs(), чтобы подставить значения в выражения и уравнения. factor(), expand(), simplify(), apart() и together(), для того чтобы представить выражения в нужном для нас виде. Рассмотрим основные вычисления в SymPy используя diff(), integrate() и Integral(). Рассмотри Sum() и Product() для вычисления суммы и произведения выражения, используя функцию doit(). solve() будем использовать для решения уравнений и систем уравнений с несколькими переменными. Также рассмотрим модули (units) для преобразования физических величин, с помощью sympy.physics.units. И в заключении, мы обсудим функцию lamdify() и как её использовать, для взаимодействия NumPy и Pandas. Ссылка на блокнот 9. Выборы в Индии 2014 года (Пример)Проанализируем результаты индийских выборов 2014 года, используя IPython Notebook. Обсудим pd.pivot_table(), для суммирования данных по группам. А также воспользуемся другими инструментами статистического анализа Pandas и NumPy. Ссылка на блокнот techcave.ru |
|
||||||||||||||||||||||||||||||||||||
|
|