Applied Python for Data Science
Essential Python for Analytics, Scientific & Math Computing | With numpy, scipy, pandas, PIL & More
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.
This course is about 50% hands-on lab to 50% lecture ratio, combining engaging instructor presentations, demonstrations and discussions with extensive machine-based student labs and practical project work. Throughout the course students will learn to write essential Python scripts and apply them within a scientific framework working with the latest technologies listed in the agenda. Although the course is introductory in nature, it will increase in complexity as more sophisticated skills and techniques are introduced. Students can rely on our highly experienced instructors to provide informed, relatable, ‘real-world' answers to their questions.
Duration
4 days/32 hours of instructionPublic Classroom Pricing
€2035.75(EUR)
Private Group Pricing
Have a group of 5 or more students? Request special pricing for private group training today.
Download the Course Brochure
Part 1: The Python Environment
- About Python
- Starting Python
- Using the interpreter
- Running a Python script
- Python scripts on Unix/Windows
- Using the Spyder editor
Part 2: Getting Started
- Using variables
- Builtin functions
- Strings
- Numbers
- Converting among types
- Writing to the screen
- String formatting
- Command line parameters
Part 3: Flow Control
- About flow control
- White space
- Conditional expressions (if,else)
- Relational and Boolean operators
- While loops
- Alternate loop exits
Part 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
Part 5: Working with files
- File overview
- Opening a text file
- Reading a text file
- Writing to a text file
- Raw (binary) data
Part 6: Dictionaries and Sets
- Creating dictionaries
- Iterating through a dictionary
- Creating sets
- Working with sets
Part 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
Part 8: Errors and Exception Handling
- Syntax errors
- Exceptions
- Using try/catch/else/finally
- Handling multiple exceptions
- Ignoring exceptions
Part 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
Part 10: Pythonic Programming
- The Zen of Python
- Common idioms
- Named tuples
- Useful types from collections
- Sorting
- Lambda functions
- List comprehensions
- Generator expressions
- String formatting
Part 11: Introduction to Python Classes
- Defining classes
- Constructors
- Instance methods and data
- Attributes
- Inheritance
- Multiple inheritance
Part 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
Part 13: Excel spreadsheets
- The openpyxl module
- Reading an existing spreadsheet
- Creating a spreadsheet from scratch
- Modifying an existing spreadsheet
- Setting Styles
Part 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
Part 15: iPython and Jupyter
- iPython features
- Using Jupyter notebooks
- Benchmarking
- External Commands
- Cells
- Sharing Notebooks
Part 16: Introduction to NumPy
- NumPy basics
- Creating arrays
- Shapes
- Stacking
- Indexing and slicing
- Array creation shortcuts
- Matrices
- Data Types
Part 17: Brief intro to SciPy
- What is SciPy?
- The Python science ecosystem
- How to use SciPy
- Getting Help
- SciPy subpackages
Part 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
Part 19: Introduction to Matplotlib
- Overall architecture
- Plot terminology
- Kinds of plots
- Creating plots
- Exporting plots
- Using Matplotlib in Jupyter
- What else can you do?
This course is geared for:
- Data Scientist
- Data Analyst
- Data Engineer
- Anyone tasked with utilizing Python for data analytics actions.
- 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