TTPS4874: Applied Python for Data Science & Engineering

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

Geared for scientists and engineers with limited practical programming background or experience, Applied Python for Data Science & Engineering is a hands-on introductory-level course that provides you with a ramp-up to using Python for scientific and mathematical computing. Working in a hands-on learning environment, you’ll learn basic Python scripting skills and concepts, as well as the most important Python modules for working with data, from arrays, to statistics, to plotting results. You’ll get to practice useful, relevant skills in a lab focused environment, guided by our expert instructional team who will explain how to apply these skills on the job.

Audience Profile

This course is geared for data analysts, developers, engineers or anyone tasked with utilizing Python for data analytics tasks.

At Course Completion

This skills-focused course combines expert instructor-led discussions with practical hands-on labs that emphasize useful, current techniques, best practices and standards. Working in this hands-on lab environment, guided by our expert practitioner, you’ll learn about and explore:

· Learn essentials Python scripting methods 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, JSON, and CSV

· Manipulate arrays with NumPy

· Get a grasp of the diversity of subpackages that make up SciPy

· Use Series and Dataframes with Pandas

· Use Jupyter notebooks for ad hoc calculations, plots, and what-if?

Outline

1. The Python Environment

· About Python

· Starting Python

· Using the interpreter

· Running a Python script

· Python scripts on Unix/Windows

· Using the Spyder editor

2. Getting Started

· Using variables

· Builtin functions

· Strings

· Numbers

· Converting among types

· Writing to the screen

· String formatting

· Command line parameters

3. Flow Control

· About flow control

· White space

· Conditional expressions (if,else)

· Relational and Boolean operators

· While loops

· Alternate loop exits

4. Array Types

· About sequences

· Lists

· Tuples

· Indexing and slicing

· Iterating through a sequence

· Using enumerate()

· Functions for all sequences

· Keywords and operators for all sequences

· The range() function

· Nested sequences

· List comprehensions

· Generator expressions

5. Working with files

· File overview

· Opening a text file

· Reading a text file

· Writing to a text file

· Raw (binary) data

6. Dictionaries and Sets

· Creating dictionaries

· Iterating through a dictionary

· Creating sets

· Working with sets

7. Functions, modules, and packages

· Four types of function parameters

· Four levels of name scoping

· Single/multi dispatch

· Relative imports

· Using __init__ effectively

· Documentation best practices

8. Errors and Exception Handling

· Syntax errors

· Exceptions

· Using try/catch/else/finally

· Handling multiple exceptions

· Ignoring exceptions

9. Using the Standard Library

· The sys module

· Launching external programs

· Walking directory trees

· Grabbing web pages

· Sending e-mail

· Paths, directories, and filenames

· Dates and times

· Zipped archives

10. Pythonic Programming

· The Zen of Python

· Common idioms

· Named tuples

· Useful types from collections

· Sorting

· Lambda functions

· List comprehensions

· Generator expressions

· String formatting

11. Introduction to Python Classes

· Defining classes

· Constructors

· Instance methods and data

· Attributes

· Inheritance

· Multiple inheritance

12. Developer tools

· Program development

· Comments

· pylint

· Customizing pylint

· Using pyreverse

· The unittest module

· Fixtures

· Skipping tests

· Making a suite of tests

· Automated test discovery

· The Python debugger

· Starting debug mode

· Stepping through a program

· Setting breakpoints

· Profiling

· Benchmarking

13. Excel spreadsheets

· The openpyxl module

· Reading an existing spreadsheet

· Creating a spreadsheet from scratch

· Modifying an existing spreadsheet

· Setting Styles

14. Serializing Data

· Using ElementTree

· Creating a new XML document

· Parsing XML

· Finding by tags and XPath

· Parsing JSON into Python

· Parsing Python into JSON

· Working with CSV

15. iPython and Jupyter

· iPython features

· Using Jupyter notebooks

· Benchmarking

· External Commands

· Cells

· Sharing Notebooks

16. Introduction to NumPy

· NumPy basics

· Creating arrays

· Shapes

· Stacking

· Indexing and slicing

· Array creation shortcuts

· Matrices

· Data Types

17. Brief intro to SciPy

· What is SciPy?

· The Python science ecosystem

· How to use SciPy

· Getting Help

· SciPy subpackages

18. Intro to Pandas

· Pandas overview & architecture

· Series

· Dataframes

· Reading and writing data

· Data alignment and reshaping

· Basic indexing

· Broadcasting

· Removing Entries

· Timeseries

· Reading Data

19. Introduction to Matplotlib

· Overall architecture

· Plot terminology

· Kinds of plots

· Creating plots

· Exporting plots

· Using Matplotlib in Jupyter

· What else can you do?

Prerequisites

While there are no specific programming prerequisites, students should be comfortable working with files and folders and the command line. Prior scripting experience is helpful but not required.