diff options
Diffstat (limited to 'book/module1/jupyter_lab_notebook.tex')
| -rw-r--r-- | book/module1/jupyter_lab_notebook.tex | 103 |
1 files changed, 68 insertions, 35 deletions
diff --git a/book/module1/jupyter_lab_notebook.tex b/book/module1/jupyter_lab_notebook.tex index 9688bea..5c06f5d 100644 --- a/book/module1/jupyter_lab_notebook.tex +++ b/book/module1/jupyter_lab_notebook.tex @@ -14,17 +14,10 @@ and system console} \subsection{Setup and Installation}\label{setup-and-installation} -Installing with Conda using CLI: - \texttt{conda\ install\ jupyter} -Jupyter can also be installed using a Anaconda Navigator - -\begin{verbatim} -- Launching: - - From terminal: `jupyter notebook` or `jupyter lab` - - From Anaconda Navigator or VSCode -- Navigating the interface: - - Tabs and file browser - - Kernel and terminals -\end{verbatim} +Jupyter Notebooks can be installed either from the Anaconda Navigator +home page or directly from your Conda terminal. + +Terminal: \texttt{conda\ install\ conda-forge::jupyterlab} \subsection{Notebook Basics}\label{notebook-basics} @@ -54,6 +47,68 @@ Jupyter can also be installed using a Anaconda Navigator Saving and auto-checkpoints \end{itemize} +Jupyter Notebooks are files which allows you to combine \emph{Code} and +\emph{Markdown} cells in one single document. The code cells, allow you +to interactively run python code and print and plot data in your +document. If you wish to update or change data your code you can re-run +the cell to update the output. The markdown cells allows you to write +text, titles and insert images in your documentation using the markup +language \emph{Markdown}. + +To start a new notebook select +\texttt{File\ \textgreater{}\ New\ \textgreater{}\ Notebook} or right +click the file browser and select \texttt{New\ notebook}, this will +prompt you to select a kernel (the Jupyter notebook ``engine''). For +now, just select the default Kernel 3. This will start a new fresh +kernel for us to use. Next, it's recommended to rename the file. + +Now that we have a blank notebook we can start to add cells. Add a cell +and change the type to Markdown. Add a title with the hash symbol +(\texttt{\#}). As shown below. + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{\# Title here} +\end{Highlighting} +\end{Shaded} + +Press \texttt{Shift\ +\ Enter} to run the cell. You just entered created +your first markdown cell. Now let's do the same but instead select code +as the cell type, we're going to add some python code to the document. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{x }\OperatorTok{=} \DecValTok{4} +\NormalTok{y }\OperatorTok{=} \DecValTok{3} + +\NormalTok{x}\OperatorTok{**}\DecValTok{2}\OperatorTok{+}\DecValTok{2}\OperatorTok{*}\NormalTok{y} +\end{Highlighting} +\end{Shaded} + +Again, run the cell and see what happens. You should've gotten an output +of \texttt{22}. You can now use the notebook as a calculator, but there +is so much more we can do. + +The order of running code matters. Think of the code cells as code +snippets. Every time you run a cell variable will be updated. This means +that the current state of all variables, functions, and imports depends +on the history of what cells have been executed and in what order. In +other words, if you run a later cell before running an earlier one that +defines a variable or function it needs, you will get an error. If you +change a variable in one cell and rerun it, that new value immediately +affects the results of any cells that use that variable afterward --- +but not any previously run results unless you rerun them too. Variables +and imports persist in memory between cells, but only based on the +current session state --- if you restart the kernel, you lose all +previous definitions unless you re-run the necessary cells. + +Because of this, it's best practice to; Run cells in order, restart the +kernel and run all cells +(\texttt{Kernel\ -\textgreater{}\ Restart\ \&\ Run\ All}) to make sure +everything works cleanly and predictably and lastly, initialize +important variables or imports in early cells, so they are always +defined before they are needed. + \subsection{Writing and Running Code}\label{writing-and-running-code} \begin{itemize} @@ -115,29 +170,10 @@ Example using interact: \end{Highlighting} \end{Shaded} -\subsection{Productivity Tips}\label{productivity-tips} - -Here are some keyboard shortcuts to improve your productivity when -writing in notebooks. - -\begin{longtable}[]{@{}ll@{}} -\toprule\noalign{} -Key & Action \\ -\midrule\noalign{} -\endhead -\bottomrule\noalign{} -\endlastfoot -A & insert cell above \\ -B & insert cell below \\ -M & switch to Markdown \\ -Y & switch to code \\ -\end{longtable} - -Magic commands: - \texttt{\%timeit}, \texttt{\%matplotlib\ inline}, -\texttt{\%\%bash} Splitting and merging cells Auto-save behavior - \subsection{Exporting and Sharing}\label{exporting-and-sharing} +By default, jupyter auto-saves your notebooks as you work. + \begin{itemize} \tightlist \item @@ -154,7 +190,4 @@ Magic commands: - \texttt{\%timeit}, \texttt{\%matplotlib\ inline}, \item Markdown \end{itemize} -\item - Notebooks can be saved and shared via the following services: - GitHub - - nbviewer.org - mybinder.org - JupyterHub \end{itemize} |
