TTPS4874 - Applied Python for Data Science

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