Book Image

Learning Jupyter

By : Dan Toomey
Book Image

Learning Jupyter

By: Dan Toomey

Overview of this book

Jupyter Notebook is a web-based environment that enables interactive computing in notebook documents. It allows you to create and share documents that contain live code, equations, visualizations, and explanatory text. The Jupyter Notebook system is extensively used in domains such as data cleaning and transformation, numerical simulation, statistical modeling, machine learning, and much more. This book starts with a detailed overview of the Jupyter Notebook system and its installation in different environments. Next we’ll help you will learn to integrate Jupyter system with different programming languages such as R, Python, JavaScript, and Julia and explore the various versions and packages that are compatible with the Notebook system. Moving ahead, you master interactive widgets, namespaces, and working with Jupyter in a multiuser mode. Towards the end, you will use Jupyter with a big data set and will apply all the functionalities learned throughout the book.
Table of Contents (16 chapters)
Learning Jupyter
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Basic notebook operations


In this section, we describe the different operations that you can perform on your Jupyter Notebook. Most of the operations are menu functions that will change your display accordingly.

File operations

Let's walk through the basic file operations.

From the Files tab, we see a list of files and folders in the current notebook/disk folder. If we select (check) one of the files, we see the top-left menu change:

We now have choices of Duplicate, Rename, and delete (the trashcan icon). Note the number of files selected, 1, is displayed in the box as well.

Duplicate

If we hit the Duplicate button, we get a confirmation prompt with the name of the file selected for duplication:

Cancel will close the dialog. Duplicate will create another copy of the file with an appended copy number, as in the following screenshot. The original filename has been used with the addition of -Copyn in the filename, where n is the copy number. Note the original file extension, .properties, has been maintained in the new file:

Rename

Similarly, if we hit the Rename button, another dialog box will appear to prompt the new filename to apply. The main filename has been highlighted as it assumes you want to maintain the file extension as the file type has not changed:

Delete

We can also delete the file by clicking on the trashcan icon. This brings up a confirmation dialog box:

At the top right of the screen we have options for Upload and New (Text File, Folder, or Python 2).

Upload

The Upload button is more meaningful when the notebook is stored on a web server. When running it on your desktop, it allows you to move files easily from one part of your notebook to another. If you click the button, you are presented with a file selector dialog box. The following screenshot is specific to a Windows environment, but a similar display is presented on a Mac. Once you select a file, it will be added to your notebook space:

New text file

If we opt to create a New Text File, we are presented with a new browser panel in the Jupyter text editor (Note that I have shrunk down the size of the screen so the display fits the boundaries of this book):

There are several points of interest on this screen:

  • We are in a new browser panel (the notebook display is still present in the other tab).

  • The name of the new file is untitled1.txt. Using the same convention as duplication, the new filename starts with untitled.txt and is incremented as needed.

  • Curiously, it mentions when the file was created.

  • In the top-right corner, we see Plain Text. So, we might expect to see some other description here for other file types.

  • We have a new menu, File, Edit, View, and Language.

  • The File menu has the following options:

    • New: Start another new text window

    • Save: Save/update the current text file into the notebook area

    • Rename: Change the name of the file (unlikely you would want to keep the untitledn name provided)

    • Download: Again, an option that makes more sense if your notebook is running on the Web. As explained for Upload, Download on a desktop installation allows you to copy a file to another part of your machine.

  • The Edit menu has the following options:

    • Find: Search for a string.

    • Find & Replace: Search for and replace a string.

    • Separator: The options for adjusting the text editor in use are below this line.

    • Key Map: Set your own function mapping for your keyboard.

    • Default: Checked as it is the default choice. This means to use the default text editor.

    • Sublime text: If you would prefer to use the Sublime editor.

    • Vim: If you would prefer to use Vim.

    • Emacs: If you would prefer to use Emacs.

  • The View menu only has an option to Toggle Line Numbers. I imagine future revisions of the package will have additional features. Similarly, for other file types, the menu may change.

  • The Language menu allows you to specify whether this text file is a specific type of programming file. This allows syntax highlighting, which is a major feature of source editors. The list is extensive:

New folder

The New Folder option creates a new folder with the naming convention Untitled Folder n.

New Python 2

The New Python 2 option creates a new Python 2 session. You are presented with a new browser panel with a similar naming convention, as seen in the following screenshot.

This is a very different presentation, where Python code is expected to be entered in the cells on the page with results displayed below each cell.

There is an extensive menu with File, Edit, View, Insert, Cell, Kernel, and Help options. We have a fairly complete Integrated  Development  Environment (IDE) for creating Python coding:

The File menu has the following options:

  • New Notebook: Start a new notebook (another browser panel like this one)

  • Open...: Select a file to open from the notebook Files view

  • Make a Copy...: Copy the current notebook completely into another browser panel

  • Rename...: Rename the current notebook

  • Save and Checkpoint: Save the current notebook and record a checkpoint

Note

A checkpoint is a point in time where all information about a notebook is preserved. You can have many checkpoints and return the state of your notebook to the previous checkpoint state at any time. This is an excellent way to give yourself the room to try out a new angle on your analysis without risking losing what you have done so far.

  • Revert to Checkpoint: Revert your notebook to a previous checkpoint

  • Print Preview: Present a preview of the printed form of your notebook

  • Download as: Download the notebook in a variety of formats:

    • IPython notebook (its current form)

    • IPython

    • HTML representation

    • Markdown-a specialized display format

    • reST--reStructuredText-an easy to read, plain text markup

    • PDF

    • Presentation

  • Close and  Halt: Close the current notebook and stop any running scripts

The Edit menu has the following options:

  • Cut Cells: Cut the currently selected cells to the clipboard

Note

Each of the rectangular work areas in your notebook is a cell. The innermost text area is where you enter code. Below that (but within the surrounding rectangle), the results of each code stop will be displayed.

  • Copy Cells: Copy cells from the clipboard to the current cursor position

  • Paste Cells Above: Paste cells from the clipboard above the current cell

  • Paste Cells Below: Paste cells from the clipboard below the current cell

  • Paste Cells & Replace: Paste the cells from the clipboard on top of the current cell

  • Delete Cells: Delete the current cells

  • Undo Delete Cells: Revert the last Delete Cells invocation

  • Split Cell: Split up a cell from the current cursor position

  • Merge Cell Above: Merge the current cell with the one above

  • Merge Cell Below: Merge the current cell with the one below

  • Edit Notebook Metadata: Every notebook has underlying metadata that describes the characteristics of the notebook. Advanced users can manipulate this data directly in order to adjust features more readily. For example, the current notebook metadata looks like the following screenshot:

  • Find and Replace: Allow us to find and replace among the selected cells. There is a standardized dialog box for this, as shown in the following screenshot:

As seen in the preceding screenshot, the parameters and their functions are as follows:

  • The Aa icon toggle determines whether a case-insensitive search is made

  • The * icon toggle determines whether a regex search is made

  • The stacked lines icon toggle is whether a replace will be made

  • The Find text block presents the search criteria

  • The Replace text block is used for the replacement text

The View menu has the following options:

  • Toggle Header: Toggles the display of the Jupyter logo and filename

  • Toggle Toolbar: Toggles the display of the toolbar

  • Cell Toolbar: Toggles the display of the cell action icons

The Insert menu has the following options:

  • Insert Cell Above: Add a new cell above the current one

  • Insert Cell Below: Add a new cell below the current one

The Cell menu has the following options:

  • Run Cells: Run the selected (or all) cells.

  • Run Cells and Select Below: Run the current cells down and create a new one below.

  • Run Cells and Insert Below: Run the current cells and create a new one above.

  • Run All: Run all cells.

  • Run All Above: Run all cells prior to the current cell.

  • Run All Below: Run all cells below the current cell.

  • Cell Type: Change the type of cell selected to Code, Markdown, or Raw NBConvert. There is an automatic message that is displayed noting that all cells are by default Code type.

  • Current Outputs and All Output have options to toggle their display.

The Kernel menu has the following options:

  • Interrupt: Send a keyboard interrupt, Ctrl + C, to the kernel. This is useful if your code is in an endless loop.

  • Restart: Restart the kernel.

  • Restart & Clear Output: Restart the kernel and clear all output anew.

  • Restart & Run All: Restart the kernel and run all cells.

  • Reconnect: Connect back to a remote notebook.

  • Change Kernel: Not useful as only Python 2 is available at this point.

The Help menu has the following options:

  • User Interface Tour: Walk the user through a UI tour

  • Keyboard Shortcuts: Presents a list of built-in keyboard shortcuts

  • Notebook Help: Help topics on the notebook

  • Markdown: Description of the markdown available within a notebook

  • Python, IPython, NumPy, SciPy, Matplotlib, SymPy, Pandas: Help topics on the various languages and packages that can be used in notebooks

  • About: A standard about box

There is an icon panel below the menu that has shortcut icons for the following functions:

  • Floppy disk icon: Save and Checkpoint

  • Plus sign: Insert Cell Below

  • Scissors: Cut Cell

  • Duplicate pages: Copy Cell

  • Up arrow: Move Cell Up

  • Down arrow: Move Cell Down

  • An icon that looks like a speaker: Run the current cell

  • Black square: Interrupt Kernel

  • Circular arrow: Restart the Kernel

  • There's a drop-down menu for display characteristics:

    • Code

    • Markdown

    • Raw  NBConvert

    • Heading

  • Keyboard: Open the command palette

  • Change the current toolbar in use. Clicking on the Cell Toolbar button auto-displays the Cell Toolbar choice from the View menu: