Geared for scientists and engineers with potentially light practical programming background or experience, Applied Python for Data Scientists is a hands-on Python course that provides a ramp-up to using Python for scientific and mathematical computing. Students will explore basic Python scripting skills and concepts, and then move to the most important Python modules for working with data, from arrays to statistics, to plotting results.
Student Testimonials
Instructor did a great job, from experience this subject can be a bit dry to teach but he was able to keep it very engaging and made it much easier to focus.
Student
Excellent presentation skills, subject matter knowledge, and command of the environment.
Student
Instructor was outstanding. Knowledgeable, presented well, and class timing was perfect.
Student
Click here to print this page »
Prerequisites
While there are no specific programming prerequisites, students should be comfortable working with files and folders and should not be afraid of the command line and basic scripting.
Detailed Class Syllabus
Session 1 — The Python Environment
About Python
Starting Python
Using the interpreter
Running a Python script
Python scripts on Unix/Windows
Using the Spyder editor
Session 2 — Getting Started
Using variables
Built-in functions
Strings
Numbers
Converting among types
Writing to the screen
String formatting
Command-line parameters
Session 3 — Flow Control
About flow control
White space
Conditional expressions (if,else)
Relational and Boolean operators
While loops
Alternate loop exits
Session 4 — Sequences
About sequences
Lists and tuples
Indexing and slicing
Iterating through a sequence
Sequence functions, keywords, and operators
List comprehensions
Generator expressions
Nested sequences
Session 5 — Working with files
File overview
Opening a text file
Reading a text file
Writing to a text file
Raw (binary) data
Session 6 — Dictionaries and Sets
Creating dictionaries
Iterating through a dictionary
Creating sets
Working with sets
Session 7 — Functions
Defining functions
Parameters
Variable scope
Returning values
Lambda functions
Session 8 — Errors and Exception Handling
Syntax errors
Exceptions
Using try/catch/else/finally
Handling multiple exceptions
Ignoring exceptions
Session 9 — OS Services
The os module
Environment variables
Launching external commands
Walking directory trees
Paths, directories, and filenames
Working with file systems
Dates and times
Session 10 – Pythonic idioms
Small Pythonisms
Lambda functions
Packing and unpacking sequences
List Comprehensions
Generator Expressions
Session 11 – Modules and packages
Initialization code
Namespaces
Executing modules as scripts
Documentation
Packages and name resolution
Naming conventions
Using imports
Session 12 — Classes
Defining classes
Constructors
Instance methods and data
Attributes
Inheritance
Multiple inheritances
Session 13 – Developer tools
Analyzing programs with pylint
Creating and running unit tests
Debugging applications
Benchmarking code
Profiling applications
Session 14 – XML and JSON
Using ElementTree
Creating a new XML document
Parsing XML
Finding by tags and XPath
Parsing JSON into Python
Parsing Python into JSON
Session 15 – iPython
iiPython basics
Terminal and GUI shells
Creating and using notebooks
Saving and loading notebooks
Ad hoc data visualization
iiPython basics
Terminal and GUI shells
Creating and using notebooks
Saving and loading notebooks
Ad hoc data visualization
Session 16 – numpy
numpy basics
Creating arrays
Indexing and slicing
Large number sets
Transforming data
Advanced tricks
Session 17 – scipy
What can scipy do?
Most useful functions
Curve fitting
Modeling
Data visualization
Statistics
Session 18 – A tour of scipy sub-packages
Clustering
Physical and Mathematical Constants
FFTs
Integral and differential solvers
Interpolation and smoothing
Input and Output
Linear Algebra
Image Processing
Distance Regression
Root-finding
Signal Processing
Sparse Matrices
Spatial data and algorithms
Statistical distributions and functions
C/C++ Integration
Session 19 – pandas
pandas overview
Dataframes
Reading and writing data
Data alignment and reshaping
Fancy indexing and slicing
Merging and joining data sets
Session 20 – matplotlib
Creating a basic plot
Commonly used plots
Ad hoc data visualization
Advanced usage
Exporting images
Session 21 — The Python Imaging Library (PIL)
PIL overview
Core image library
Image processing
Displaying images