Get started with Python for data analysis and numerical computing in the Jupyter notebookAbout This Book- Learn the basics of Python in the Jupyter Notebook- Analyze and visualize data with pandas, NumPy, matplotlib, and seaborn- Perform highly-efficient numerical computations with Numba, Cython, and ipyparallelWho This Book Is ForThis book targets students, teachers, researchers, engineers, analysts, journalists, hobbyists, and all data enthusiasts who are interested in analyzing and visualizing real-world datasets. If you are new to programming and data analysis, this book is exactly for you. If you're already familiar with another language or analysis software, you will also appreciate this introduction to the Python data analysis platform. Finally, there are more technical topics for advanced readers. No prior experience is required; this book contains everything you need to know.What You Will Learn- Install Anaconda and code in Python in the Jupyter Notebook- Load and explore datasets interactively- Perform complex data manipulations effectively with pandas- Create engaging data visualizations with matplotlib and seaborn- Simulate mathematical models with NumPy- Visualize and process images interactively in the Jupyter Notebook with scikit-image- Accelerate your code with Numba, Cython, and IPython.parallel- Extend the Notebook interface with HTML, JavaScript, and D3In DetailPython is a user-friendly and powerful programming language. IPython offers a convenient interface to the language and its analysis libraries, while the Jupyter Notebook is a rich environment well-adapted to data science and visualization. Together, these open source tools are widely used by beginners and experts around the world, and in a huge variety of fields and endeavors.This book is a beginner-friendly guide to the Python data analysis platform. After an introduction to the Python language, IPython, and the Jupyter Notebook, you will learn how to analyze and visualize data on real-world examples, how to create graphical user interfaces for image processing in the Notebook, and how to perform fast numerical computations for scientific simulations with NumPy, Numba, Cython, and ipyparallel. By the end of this book, you will be able to perform in-depth analyses of all sorts of data.Style and approachThis is a hands-on beginner-friendly guide to analyze and visualize data on real-world examples with Python and the Jupyter Notebook.
Author(s): Cyrille Rossant
Edition: 2
Year: 2015
Language: English
Pages: 200
Tags: python
Cover
Copyright
Credits
About the Author
About the Reviewers
www.PacktPub.com
Table of Contents
Preface
Chapter 1: Getting Started with IPython
What are Python, IPython, and Jupyter?
Jupyter and IPython
What this book covers
References
Installing Python with Anaconda
Downloading Anaconda
Installing Anaconda
Before you get started...
Opening a terminal
Finding your home directory
Manipulating your system path
Testing your installation
Managing environments
Common conda commands
References
Downloading the notebooks
Introducing the Notebook
Launching the IPython console
Launching the Jupyter Notebook
The Notebook dashboard
The Notebook user interface
Structure of a notebook cell
Markdown cells
Code cells
The Notebook modal interface
Keyboard shortcuts available in both modes
Keyboard shortcuts available in the edit mode
Keyboard shortcuts available in the command mode
References
A crash course on Python
Hello world
Variables
String escaping
Lists
Loops
Indentation
Conditional branches
Functions
Positional and keyword arguments
Passage by assignment
Errors
Object-oriented programming
Functional programming
Python 2 and 3
Going beyond the basics
Ten Jupyter/IPython essentials
Using IPython as an extended shell
Learning magic commands
Mastering tab completion
Writing interactive documents in the Notebook with Markdown
Creating interactive widgets in the Notebook
Running Python scripts from IPython
Introspecting Python objects
Debugging Python code
Benchmarking Python code
Profiling Python code
Summary
Chapter 2: Interactive Data Analysis with pandas
Exploring a dataset in the Notebook
Provenance of the data
Downloading and loading a dataset
Making plots with matplotlib
Descriptive statistics with pandas and seaborn
Manipulating data
Selecting data
Selecting columns
Selecting rows
Filtering with boolean indexing
Computing with numbers
Working with text
Working with dates and times
Handling missing data
Complex operations
Group-by
Joins
Summary
Chapter 3: Numerical Computing with NumPy
A primer to vector computing
Multidimensional arrays
The ndarray
Vector operations on ndarrays
How fast are vector computations in NumPy?
How an ndarray is stored in memory
Why operations on ndarrays are fast
Creating and loading arrays
Creating arrays
Loading arrays from files
Basic array manipulations
Computing with NumPy arrays
Selection and indexing
Boolean operations on arrays
Mathematical operations on arrays
A density map with NumPy
Other topics
Summary
Chapter 4: Interactive Plotting and Graphical Interfaces
Choosing a plotting backend
Inline plots
Exported figures
GUI toolkits
Dynamic inline plots
Web-based visualization
matplotlib and seaborn essentials
Common plots with matplotlib
Customizing matplotlib figures
Interacting with matplotlib figures in the Notebook
High-level plotting with seaborn
Image processing
Further plotting and visualization libraries
High-level plotting
Bokeh
Vincent and Vega
Plotly
Maps and geometry
The matplotlib Basemap toolkit
GeoPandas
Leaflet wrappers: folium and mplleaflet
3D visualization
Mayavi
VisPy
Summary
Chapter 5: High-Performance and Parallel Computing
Accelerating Python code with Numba
Random walk
Universal functions
Writing C in Python with Cython
Installing Cython and a C compiler for Python
Implementing the Eratosthenes Sieve in Python and Cython
Distributing tasks on several cores with IPython.parallel
Direct interface
Load-balanced interface
Further high-performance computing techniques
MPI
Distributed computing
C/C++ with Python
GPU computing
PyPy
Julia
Summary
Chapter 6: Customizing IPython
Creating a custom magic command in an IPython extension
Writing a new Jupyter kernel
Displaying rich HTML elements in the Notebook
Displaying SVG in the Notebook
JavaScript and D3 in the Notebook
Customizing the Notebook interface with JavaScript
Summary
Index