Python для сбора данных

Алла Тамбовцева, НИУ ВШЭ

Знакомство с Jupyter Notebook

Jupyter Notebook чем-то похож на текстовый редактор: есть меню, панель инструментов и поле для работы (ячейки). Ячейки могут содержать как код, так и текст (неразмеченный и размеченный). Комментарии в ячейках с кодом должны начинаться со знака #.

Пример ячейки с кодом:

In [1]:
a = 3 # создаем переменную a и присваиваем ей значение 3
b = 0.2 

# комментарий 1
# комментарий 2

print(a, b) # выводим на экран значения переменных a и b
3 0.2

По умолчанию тип ячейки Code, это можно увидеть на панели под меню. Чтобы изменить тип ячейки, нужно нажать на стрелочку вниз и выбрать нужный вариант. Всего вариантов четыре: Code, Markdown, RawNBConvert и Heading.

  • Code: ячейка с кодом Python;
  • Markdown: ячейка с размеченным текстом, язык разметки Markdown;
  • RawNBConvert: неразмеченный (сырой) текст, без курсива/полужирного шрифта;
  • Heading: устарел, раньше использовался для заголовков, сейчас их нужно создавать в режиме Markdown.

Что можно делать с помощью Markdown?

Выделять заголовки разных уровней.

Заголовок 1

Заголовок 2

Заголовок 3

Исходная разметка Markdown:

# Заголовок 1
## Заголовок 2
### Заголовок 3

Выделять части текста с помощью курсива или полужирного начертания. Или просто зачеркивать. Исходная разметка:

Выделять части текста с помощью *курсива* или **полужирного начертания**. 

Или просто <s>зачеркивать</s>.

Добавлять списки разного вида. Ненумерованный список:

  • пункт 1
  • пункт 2

Нумерованный список:

  1. Во-первых, ...
  2. Во-вторых, ...

Исходная разметка для списков:

Ненумерованный список:

* пункт 1 
* пункт 2

Нумерованный список:

1. Во-первых, ...
2. Во-вторых, ...

Для тех, кто знаком с $\LaTeX{}$: можно красиво оформлять формулы, используя синтаксис, принятый в $\LaTeX{}$ (наличие установленного на компьютере LaTeX не требуется, текст компилируется в самом Jupyter Notebook):

$$ A \cup B $$$$ y = \beta_0 + \beta_1 \cdot x $$$$ \frac{1}{(x+y)^2} $$

Код LaTeX:

$$
A \cup B
$$

$$
y = \beta_0 + \beta_1 \cdot x
$$

$$
\frac{1}{(x+y)^2}
$$

Еще можно добавлять ссылки. Текст ссылки и саму ссылку:

Jupyter

Исходник:

[Jupyter](http://jupyter.org/)

Либо просто ссылку как есть:

http://jupyter.org/

Исходник:

<http://jupyter.org/>

И, конечно, можно добавлять картинки!

Так:

title

Исходник:

![title](test.png)

Или так (синтаксис, как в html, кто знаком):

Test picture

Исходник:

<img src ="test.png" alt ="Test picture">

Примечание: часть с alt нужна для того, чтобы в случае, если картинки с таким названием нет, выводился какой-то альтернативный текст вместо неё. Например:

Test picture

Горячие клавиши

В Jupyter Notebook есть свои горячие клавиши, которые позволяют добавлять или удалять ячейки, менять их тип и так далее. Чтобы работать в режиме горячих клавиш, нужно выйти из редактирования ячейки (нажать на Esc), а потом набрать нужную комбинацию клавиш. Чтобы вернуться в режим редактирования ячейки, можно кликнуть на нее два раза или, выбрав её, нажать Enter. Все полезные комбинации клавиш можно найти в меню (Help - Keyboard Shortcuts) или нажав Esc, а потом H или P.

Если потерялись

И наконец: как найти, куда Jupyter сохраняет ноутбуки — файлы с расширением .ipynb. Можно импортировать библиотеку os и узнать текущую рабочую папку (current working directory) — в ней будут лежать ноутбуки.

In [5]:
import os
os.getcwd()
Out[5]:
'/home/oem/github/Py-programming-3/02-04'