25,000+ Courses Nationwide
0345 4506120

Introduction to Python and Data Analysis

This course is an introduction to Python and its main data analysis libraries, Pandas and Matplotlib for delegates with some understanding of programming concepts. It is a two-part course, the first is an introduction to Python programming, the second introduces Python's data analysis tools. For the programming environment we use JupyterLab on the Anaconda platform. Anaconda is one of the most, if not the most, popular Data Science platforms. Please note, this course is not meant for Data Analysts or Scientists who should instead consider our Data Analysis Python course.

Approach:

We believe in learning by doing and take a hands-on approach to training. Delegates are provided with all required resources, including data, and are expected to code along with the instructor. The objective is for delegates to reproduce the analysis in our manuals as well as gain a conceptual understanding of the methods.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Who will the Course Benefit?

This course is designed for anyone who wants to acquire basic proficiency in Python and its data analysis tools for use in their own work. It is for numerate people who are familiar with programming constructs but are not necessarily programmers nor aiming to become data analysts or scientists but, want to be able to do some data manipulation and visualization using Python.

Select specific date to see price, venue and full details.

Learning Objectives

The delegate will learn and acquire skills as follows:

Python

  • Variables and data type
  • If statements and loops
  • Comprehensions
  • Functions
  • Map, reduce and filter

Pandas and Matplotlib

  • Read csv, excel and json format data into Pandas DataFrame objects
  • Fetch data from local files, web url and a relational database
  • Clean, group, pivot, manipulate and summarise tabular data
  • Plot bar and pie charts, histograms, scatter and line graphs, using Matplotlib
  • Use JupyterLab

Course Objectives

This course aims to develop delegates skills in Python and its main data analysis libraries. On completion of the course they will have gained enough proficiency to allow them to apply these tools in their day to day data analysis activities.

Pre-Requisites

Requirements

Programming:

  • Understanding of, and experience coding small programs that use variables, arrays or lists, conditional statements, loops and functions. Skills and knowledge that can be acquired by attending our Introduction to Programming course.

Numeracy:

  • Able to calculate and interpret averages, standard deviations and similar basic statistics.
  • Ability to read and understand charts and graphs.
  • Mathematics: GCSE or equivalent.

Pre-Requisite Courses

  • Introduction to Programming

Course Content

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: GETTING STARTED

  • About Python
  • Python versions
  • Python documentation
  • Python runtimes
  • Installing Python
  • The REPL shell
  • Python editors

Session 2: PYTHON: SCRIPTS & SYNTAX

  • Script naming
  • Comments
  • Docstring
  • Statements
  • The backslash
  • Code blocks
  • Whitespace
  • Console IO (to enable the writing of simple programs)
  • A first Python program
  • Script execution

Session 3: PYTHON: VARIABLES & DATA TYPES

  • Literals
  • Identifiers
  • Assignment
  • Numbers (bool, int, float, complex)
  • Binary, octal, and hexadecimal numbers
  • Collections (str, list, tuple, set, dict)
  • None
  • Implicit and explicit type conversion (casting)
  • The type function

Session 4: OPERATORS & EXPRESSIONS

  • Arithmetic Operators
  • Assignment Operators
  • Comparison Operators
  • Logical Operators
  • Membership Operators
  • Bitwise Operators
  • Identity Operators

Session 5: CONDITIONS & LOOPS

  • Conditional statements (if, elif, else)
  • Short hand if/if else
  • Python's alternative to the ternary operator
  • Iterative statements (while, for, else)
  • The range function
  • Iterating over a list
  • Break
  • Continue
  • Nested conditional/iterative statements

Session 6: FUNCTIONS

  • Declaration
  • Invocation
  • Default values for parameters
  • Named arguments
  • args and kwargs
  • Returning multiple values
  • Nested functions
  • Functions as data
  • Introduction to lambda expressions
  • Variable scope
  • The pass keyword

Session 7: COMPREHENSION

  • List Comprehension
  • Set Comprehension
  • The zip Function
  • Dictionary Comprehension

Session 8: FUNCTIONAL PROGRAMMING

  • Lambdas
  • Mapping
  • Filtering
  • Reducing

Session 9: OBJECT ORIENTED CONCEPTS

  • Concepts
  • Simple Class Example
  • Object Creation

Session 10: INTRODUCTION TO DATAFRAMES

  • What is a DataFrame?
  • Loading DataFrames
  • Accessing contents
  • Useful functions
  • Adding and dropping columns and rows
  • Fitering and assigning data
  • Missing values and duplicates
  • Arithmetic basics
  • Applymap and apply

Session 11: GROUPBY AND AGGREGATION: SPLIT-APPLY-COMBINE

  • Basic GroupBy
  • Hierarchical GroupBy
  • Group by function of Index

Session 12: GROUPBY AND AGGREGATION: SPLIT-APPLY-COMBINE

  • Aggregate by mapping on Index and Columns
  • Aggregate by user-defined functions
  • Aggregate using multiple functions
  • Aggregate using separate function for each column

Session 13: GROUPBY AND AGGREGATION: SPLIT-APPLY-COMBINE

  • Transform
  • The Apply function
  • Pivoting with Aggregation

Session 14: PLOTTING WITH MATPLOTLIB

  • Pie chart
  • Bar chart
  • Histogram
  • Scatter plot
  • Line plot

Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Related Courses

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the requested service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

We work with the best