O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Jupyter

Book Description

Learn how to write code, mathematics, graphics, and output, all in a single document, as well as in a web browser using Project Jupyter

About This Book

  • Learn to write, execute, and comment your live code and formulae all under one roof using this unique guide
  • This one-stop solution on Project Jupyter will teach you everything you need to know to perform scientific computation with ease
  • This easy-to-follow, highly practical guide lets you forget your worries in scientific application development by leveraging big data tools such as Apache Spark, Python, R etc

Who This Book Is For

This book caters to all developers, students, or educators who want to execute code, see output, and comment all in the same document, in the browser. Data science professionals will also find this book very useful to perform technical and scientific computing in a graphical, agile manner.

What You Will Learn

  • Install and run the Jupyter Notebook system on your machine
  • Implement programming languages such as R, Python, Julia, and JavaScript with Jupyter Notebook
  • Use interactive widgets to manipulate and visualize data in real time
  • Start sharing your Notebook with colleagues
  • Invite your colleagues to work with you in the same Notebook
  • Organize your Notebook using Jupyter namespaces
  • Access big data in Jupyter

In Detail

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.

Style and approach

This comprehensive practical guide will teach you how to work with the Jupyter Notebook system. It demonstrates the integration of various programming languages with Jupyter Notebook through hands-on examples in every chapter.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Learning Jupyter
    1. Learning Jupyter
    2. Credits
    3. About the Author
    4. About the Reviewer
    5. www.PacktPub.com
      1. Why subscribe?
    6. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Downloading the color images of this book
        3. Errata
        4. Piracy
        5. Questions
    7. 1. Introduction to Jupyter
      1. First look at Jupyter
      2. Installing Jupyter on Windows
      3. Installing Jupyter on Mac
      4. Notebook structure
      5. Notebook workflow
      6. Basic notebook operations
        1. File operations
          1. Duplicate
          2. Rename
          3. Delete
          4. Upload
          5. New text file
          6. New folder
          7. New Python 2
      7. Security in Jupyter
        1. Security digest
        2. Trust options
      8. Configuration options for Jupyter
      9. Summary
    8. 2. Jupyter Python Scripting
      1. Basic Python in Jupyter
      2. Python data access in Jupyter
      3. Python pandas in Jupyter
      4. Python graphics in Jupyter
      5. Python random numbers in Jupyter
      6. Summary
    9. 3. Jupyter R Scripting
      1. Adding R scripting to your installation
        1. Adding R scripts to Jupyter on a Mac
        2. Adding R scripts to Jupyter on Windows
        3. Adding R packages to Jupyter
        4. R limitations in Jupyter
        5. After adding R scripts to Jupyter
      2. Basic R in Jupyter
      3. R dataset access
      4. R visualizations in Jupyter
        1. R 3D graphics in Jupyter
        2. R 3D scatterplot in Jupyter
      5. R cluster analysis
      6. R forecasting
      7. Summary
    10. 4. Jupyter Julia Scripting
      1. Adding Julia scripting to your installation
        1. Adding Julia scripts to Jupyter on a Mac
        2. Adding Julia scripts to Jupyter on Windows
        3. Adding Julia packages to Jupyter
      2. Basic Julia in Jupyter
      3. Julia limitations in Jupyter
      4. Standard Julia capabilities
      5. Julia visualizations in Jupyter
        1. Julia Gadfly scatterplot
        2. Julia Gadfly histogram
        3. Julia Winston plotting
      6. Julia Vega plotting
        1. Julia PyPlot plotting
      7. Julia parallel processing
      8. Julia control flow
      9. Julia regular expressions
      10. Julia unit testing
      11. Summary
    11. 5. Jupyter JavaScript Coding
      1. Adding JavaScript scripting to your installation
        1. Adding JavaScript scripts to Jupyter on Mac
        2. Adding JavaScript scripts to Jupyter on Windows
      2. JavaScript Hello World Jupyter Notebook
        1. Adding JavaScript packages to Jupyter
      3. Basic JavaScript in Jupyter
      4. JavaScript limitations in Jupyter
      5. Node.js d3 package
      6. Node.js stats-analysis package
      7. Node.js JSON handling
      8. Node.js canvas package
      9. Node.js plotly package
      10. Node.js asynchronous threads
      11. Node.js decision-tree package
      12. Summary
    12. 6. Interactive Widgets
      1. Installing widgets
      2. Widget basics
      3. Interact widget
        1. Interact widget slider
        2. Interact widget checkbox
        3. Interact widget text box
        4. Interact dropdown
      4. Interactive widget
      5. Widgets
        1. Progress bar widget
        2. Listbox widget
        3. Text widget
        4. Button widget
        5. Widget properties
        6. Adjusting properties
        7. Widget events
        8. Widget containers
      6. Summary
    13. 7. Sharing and Converting Jupyter Notebooks
      1. Sharing notebooks
        1. Sharing notebooks on a notebook server
          1. Encrypted sharing notebooks on a notebook server
        2. Sharing notebooks on a web server
        3. Sharing notebooks through Docker
        4. Sharing notebooks on a public server
      2. Converting notebooks
        1. Notebook format
        2. JavaScript format
        3. HTML format
        4. Markdown format
        5. reStructuredText format
        6. PDF format
      3. Summary
    14. 8. Multiuser Jupyter Notebooks
      1. Sample interactive notebook
      2. JupyterHub
        1. Installation
        2. Operation
        3. Continuing with operations
        4. JupyterHub summary
      3. Docker
        1. Installation
        2. Starting Docker
        3. Building your Jupyter image for Docker
        4. Docker summary
      4. Summary
    15. 9. Jupyter Scala
      1. Installing the Scala kernel
      2. Scala data access in Jupyter
      3. Scala array operations
      4. Scala random numbers in Jupyter
      5. Scala closures
      6. Scala higher-order functions
      7. Scala pattern matching
      8. Scala case classes
      9. Scala immutability
      10. Scala collections
      11. Named arguments
      12. Scala traits
      13. Summary
    16. 10. Jupyter and Big Data
      1. Apache Spark
        1. Mac installation
        2. Windows installation
      2. Our first Spark script
      3. Spark word count
      4. Sorted word count
      5. Estimate Pi
      6. Log file examination
      7. Spark primes
      8. Spark text file analysis
      9. Spark - evaluating history data
      10. Summary