Outdated - Applied Python for Data Science

Hands-on Python for Scientific & Math Computing | With numpy, scipy, iPython, pandas, PIL & More

TTPS4870

Introductory

5 Days

Course Overview

Geared for scientists and engineers with possibly lighter programming background, Applied Python for Scientists and Engineers is a hands-on Python course that provides a ramp-up to using Python for scientific and mathematical computing. Students will explore basic Python programming and concepts, and then move to the most important Python modules for working with data, from arrays, to statistics, to plotting results.

Course Objectives

Throughout the course students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review. This course is “skills-centric”, designed to train attendees in essential Python, coupling the most current, effective techniques and best practices.  

Working within in an engaging, hands-on learning environment, guided by our expert Python practitioner, attendees will learn to use Python to:

  • Create and run basic programs
  • Design and code modules and classes
  • Implement and run unit tests
  • Use benchmarks and profiling to speed up programs
  • Process XML and JSON
  • Manipulate arrays with numpy
  • Get a grasp of the diversity of subpackages that make up scipy
  • Use iPython notebooks for ad hoc calculations, plots, and what-if?
  • Manipulate images with PIL
  • Solve equations with sympy

Need different skills or topics? If your team requires different topics or tools, additional skills or custom approach, this course may be easily adjusted to accommodate. We offer additional Python and Web development courses which may be blended with this course for a track that best suits your development objectives.

Course Prerequisites

While there are no specific programming prerequisites, basic programming experience would be helpful. Students should be comfortable working with files and folders, and should not be afraid of the command line.

We will collaborate with you to design the best solution to ensure your needs are met, whether we customize the material, or devise a different educational path to help your team best prepare for this training.

Course Agenda

Session: The Python Environment

  • About Python
  • Starting Python
  • Using the interpreter
  • Running a Python script
  • Python scripts on Unix/Windows
  • Using the Spyder editor

Session: Getting Started

  • Using variables
  • Builtin functions
  • Strings
  • Numbers
  • Converting among types
  • Writing to the screen
  • String formatting
  • Command line parameters

Session: Flow Control

  • About flow control
  • White space
  • Conditional expressions (if,else)
  • Relational and Boolean operators
  • While loops
  • Alternate loop exits

Session: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: Working with files

  • File overview
  • Opening a text file
  • Reading a text file
  • Writing to a text file
  • Raw (binary) data

Session: Dictionaries and Sets

  • Creating dictionaries
  • Iterating through a dictionary
  • Creating sets
  • Working with sets

Session: Functions

  • Defining functions
  • Parameters
  • Variable scope
  • Returning values
  • Lambda functions

Session: Errors and Exception Handling

  • Syntax errors
  • Exceptions
  • Using try/catch/else/finally
  • Handling multiple exceptions
  • Ignoring exceptions

Session: 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:Pythonic idioms

  • Small Pythonisms
  • Lambda functions
  • Packing and unpacking sequences
  • List Comprehensions
  • Generator Expressions

Session:Modules and packages

  • Initialization code
  • Namespaces
  • Executing modules as scripts
  • Documentation
  • Packages and name resolution
  • Naming conventions
  • Using imports

Session: Classes

  • Defining classes
  • Constructors
  • Instance methods and data
  • Attributes
  • Inheritance
  • Multiple inheritance

Session: Developer tools

  • Analyzing programs with pylint
  • Creating and running unit tests
  • Debugging applications
  • Benchmarking code
  • Profiling applications

Session: 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: iPython

  • iiPython basics
  • Terminal and GUI shells
  • Creating and using notebooks
  • Saving and loading notebooks
  • Ad hoc data visualization

Session: numpy

  • numpy basics
  • Creating arrays
  • Indexing and slicing
  • Large number sets
  • Transforming data
  • Advanced tricks

Session: scipy

  • What can scipy do?
  • Most useful functions
  • Curve fitting
  • Modeling
  • Data visualization
  • Statistics

Session: A tour of scipy subpackages

  • 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: pandas

  • pandas overview
  • Dataframes
  • Reading and writing data
  • Data alignment and reshaping
  • Fancy indexing and slicing
  • Merging and joining data sets

Session: matplotlib

  • Creating a basic plot
  • Commonly used plots
  • Ad hoc data visualization
  • Advanced usage
  • Exporting images

Session: The Python Imaging Library (PIL)

  • PIL overview
  • Core image library
  • Image processing
  • Displaying images

Course Materials

Our course materials include more than a simple slideshow presentation handout. Each student will receive a comprehensive, up-to-date course Student Guide, complete with detailed course notes, code samples, software tutorials, diagrams and related reference materials and links. Our courses also include detailed our Student Workbook, with step by step hands-on lab instructions and code samples, clearly illustrated for users to complete hands-on work in class, and to revisit to review or refresh skills at any time.  Students will also receive the course set up files and project code needed for the hands on work.

In an effort to conserve global natural resources, our course materials are typically distributed in annotatable eBook Format(PDF), licensed individually to students attending a course. Students can take notes on the files and keep them on their own machines. If your organization prefers printed / hard copy materials, please inquire for details and options.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Year-End Savings!
Register today to receive *50% off all 2021 Public Classes*!  Check out our Current Offers for Individuals, Teams and Organizations to Learn for Less!

See our latest Offers and Promotions

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More