Numerical Python: Scientific Computing and Data Science Applications with Numpy, Scipy and Matplotlib

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Leverage the numerical and mathematical modules in Python and its standard library as well as popular open source numerical Python packages like NumPy, SciPy, FiPy, matplotlib and more. This fully revised edition, updated with the latest details of each package and changes to Jupyter projects, demonstrates how to numerically compute solutions and mathematically model applications in big data, cloud computing, financial engineering, business management and more. Numerical Python, Second Edition, presents many brand-new case study examples of applications in data science and statistics using Python, along with extensions to many previous examples. Each of these demonstrates the power of Python for rapid development and exploratory computing due to its simple and high-level syntax and multiple options for data analysis. After reading this book, readers will be familiar with many computing techniques including array-based and symbolic computing, visualization and numerical file I/O, equation solving, optimization, interpolation and integration, and domain-specific computational problems, such as differential equation solving, data analysis, statistical modeling and machine learning. What You'll Learn Work with vectors and matrices using NumPy Plot and visualize data with Matplotlib Perform data analysis tasks with Pandas and SciPy Review statistical modeling and machine learning with statsmodels and scikit-learn Optimize Python code using Numba and Cython Who This Book Is For Developers who want to understand how to use Python and its related ecosystem for numerical computing.

Author(s): Robert Johansson
Edition: 2
Publisher: Apress
Year: 2018

Language: English
Pages: 700

Table of Contents
About the Author
About the Technical Reviewers
Introduction
Chapter 1: Introduction to Computing with Python
Environments for Computing with Python
Python
Interpreter
IPython Console
Input and Output Caching
Autocompletion and Object Introspection
Documentation
Interaction with the System Shell
IPython Extensions
File System Navigation
Running Scripts from the IPython Console
Debugger
Reset
Timing and Profiling Code
Interpreter and Text Editor as Development Environment
Jupyter
The Jupyter QtConsole
The Jupyter Notebook
Jupyter Lab
Cell Types
Editing Cells
Markdown Cells
Rich Output Display
nbconvert
HTML
PDF
Python
Spyder: An Integrated Development Environment
Source Code Editor
Consoles in Spyder
Object Inspector
Summary
Further Reading
References
Chapter 2: Vectors, Matrices, and  Multidimensional Arrays
Importing the Modules
The NumPy Array Object
Data Types
Real and Imaginary Parts
Order of Array Data in Memory
Creating Arrays
Arrays Created from Lists and Other Array-Like Objects
Arrays Filled with Constant Values
Arrays Filled with Incremental Sequences
Arrays Filled with Logarithmic Sequences
Meshgrid Arrays
Creating Uninitialized Arrays
Creating Arrays with Properties of Other Arrays
Creating Matrix Arrays
Indexing and Slicing
One-Dimensional Arrays
Multidimensional Arrays
Views
Fancy Indexing and Boolean-Valued Indexing
Reshaping and Resizing
Vectorized Expressions
Arithmetic Operations
Elementwise Functions
Aggregate Functions
Boolean Arrays and Conditional Expressions
Set Operations
Operations on Arrays
Matrix and Vector Operations
Summary
Further Reading
References
Chapter 3: Symbolic Computing
Importing SymPy
Symbols
Numbers
Integer
Float
Rational
Constants and Special Symbols
Functions
Expressions
Manipulating Expressions
Simplification
Expand
Factor, Collect, and Combine
Apart, Together, and Cancel
Substitutions
Numerical Evaluation
Calculus
Derivatives
Integrals
Series
Limits
Sums and Products
Equations
Linear Algebra
Summary
Further Reading
Reference
Chapter 4: Plotting and Visualization
Importing Modules
Getting Started
Interactive and Noninteractive Modes
Figure
Axes
Plot Types
Line Properties
Legends
Text Formatting and Annotations
Axis Properties
Axis Labels and Titles
Axis Range
Axis Ticks, Tick Labels, and Grids
Log Plots
Twin Axes
Spines
Advanced Axes Layouts
Insets
Subplots
Subplot2grid
GridSpec
Colormap Plots
3D Plots
Summary
Further Reading
References
Chapter 5: Equation Solving
Importing Modules
Linear Equation Systems
Square Systems
Rectangular Systems
Eigenvalue Problems
Nonlinear Equations
Univariate Equations
Systems of Nonlinear Equations
Summary
Further Reading
References
Chapter 6: Optimization
Importing Modules
Classification of Optimization Problems
Univariate Optimization
Unconstrained Multivariate Optimization
Nonlinear Least Square Problems
Constrained Optimization
Linear Programming
Summary
Further Reading
References
Chapter 7: Interpolation
Importing Modules
Interpolation
Polynomials
Polynomial Interpolation
Spline Interpolation
Multivariate Interpolation
Summary
Further Reading
References
Chapter 8: Integration
Importing Modules
Numerical Integration Methods
Numerical Integration with SciPy
Tabulated Integrand
Multiple Integration
Symbolic and Arbitrary-Precision Integration
Line Integrals
Integral Transforms
Summary
Further Reading
References
Chapter 9: Ordinary Differential Equations
Importing Modules
Ordinary Differential Equations
Symbolic Solution to ODEs
Direction Fields
Solving ODEs Using Laplace Transformations
Numerical Methods for Solving ODEs
Numerical Integration of ODEs Using SciPy
Summary
Further Reading
References
Chapter 10: Sparse Matrices and Graphs
Importing Modules
Sparse Matrices in SciPy
Functions for Creating Sparse Matrices
Sparse Linear Algebra Functions
Linear Equation Systems
Eigenvalue Problems
Graphs and Networks
Summary
Further Reading
References
Chapter 11: Partial Differential Equations
Importing Modules
Partial Differential Equations
Finite-Difference Methods
Finite-Element Methods
Survey of FEM Libraries
Solving PDEs Using FEniCS
Summary
Further Reading
References
Chapter 12: Data Processing and Analysis
Importing Modules
Introduction to Pandas
Series
DataFrame
Time Series
The Seaborn Graphics Library
Summary
Further Reading
References
Chapter 13: Statistics
Importing Modules
Review of Statistics and Probability
Random Numbers
Random Variables and Distributions
Hypothesis Testing
Nonparametric Methods
Summary
Further Reading
References
Chapter 14: Statistical Modeling
Importing Modules
Introduction to Statistical Modeling
Defining Statistical Models with Patsy
Linear Regression
Example Datasets
Discrete Regression
Logistic Regression
Poisson Model
Time Series
Summary
Further Reading
References
Chapter 15: Machine Learning
Importing Modules
Brief Review of Machine Learning
Regression
Classification
Clustering
Summary
Further Reading
References
Chapter 16: Bayesian Statistics
Importing Modules
Introduction to Bayesian Statistics
Model Definition
Sampling Posterior Distributions
Linear Regression
Summary
Further Reading
References
Chapter 17: Signal Processing
Importing Modules
Spectral Analysis
Fourier Transforms
Frequency-Domain Filter
Windowing
Spectrogram
Signal Filters
Convolution Filters
FIR and IIR Filters
Summary
Further Reading
References
Chapter 18: Data Input and Output
Importing Modules
Comma-Separated Values
HDF5
h5py
Files
Groups
Datasets
Attributes
PyTables
Pandas HDFStore
JSON
Serialization
Summary
Further Reading
Reference
Chapter 19: Code Optimization
Importing Modules
Numba
Cython
Summary
Further Reading
References
Appendix: Installation
Miniconda and Conda
A Complete Environment
Summary
Further Reading
Index