Home >>> Courses >>> Data Analysis

What customers say ...

A useful and quite comprehensive introduction to Python.

Emil Simon, Researcher about the course "Python for Scientists and Engineers" more...

Mr. Müller explained very well and exhasutively. Alle question were answered. The learned material will definitely speed up my daily work. Thank you very much!

Martin Siemann, German Aerospace Stuttgart about the course "Python für Programmierer und Python für Wissenschaftler und Ingenieure" more...

Mike is an outstanding teacher ... I will look for his classes in the future.

Jennifer Trasti, Software/Systems Engineer, Sandia National Laboratories, Albuquerque, NM, USA more...

Good course. Very competent trainer for this introduction. The course offers wide spectrum of topics and goes into depth were participants need it most.

Helmut Dittrich, CEO DiFis-Engineering UG, arrow-fix.com, about the German introduction to Django "Einstieg in Django" more...

Good course. Very fast progress without any prior Python knowledge.

Daniel Fuchs, GIGATRONIK Ingolstadt GmbH, about the German version of the course "Python for Programmers" more...

Python for Data Analysis

Dates for Open Courses

This course is a joint course with Python for Scientists and Engineers.

Location Date Course Language
Leipzig September 11 - 13, 2017 Python for Scientists and Engineers English register

Course also available as in-house training. Please ask us at info@python-academy.de

Intended Audience

Programmers with basic knowledge of Python. This course can be combined with introductory courses (see Recommended Module Combinations) to achieve appropriate Python skills.


Python is a great language for data analysis. The language is very easy to get started with but, at the same time, offers a lot of room to solve complex problems. In addition to working with an elegant, general purpose language, there are numerous Python libraries for data analysis task and many other tasks. This allows not only to use Python's "killer apps" like IPython, NumPy and matplotlib but also easily extend ones solution into other fields such as web app front end or database integration.

Course Content

Overview of scientific and technical libraries for Python

There is a great variety of Python libraries for scientific purposes. A short overview is presented and selected example libraries are briefly introduced.


IPython is a special implementation of the interactive Python mode. The course presents the basic IPython features of the shell and GUI variant as well as the IPython Notebook. The IPython Notebook runs in the browser. A Notebook can contain markup and graphics in addition to executable code. The course will use the IPython Notebook throughout the course exploring more features along the way.

Numerical Calculations with NumPy

The library NumPy is the defacto standard for the work with arrays and linear algebra.

Array-Construction and Array-Properties

There are different ways to construct arrays with NumPy. The most useful way to create an array for a specific purpose is demonstrated with examples. The properties of array objects are explained.

Data Types

In contrast to Python data types that are dynamically determined at run time, data types of NumPy arrays have to be explicitly specified. This is one prerequisite to achieve the speed advantages of NumPy compared to pure Python. There are considerably more data types in NumPy than in Python. The course covers the usage of those data types and in particular their correspondence with C data types.

Slicing and Broadcasting

The technique of slicing allows read and write access to arbitrary parts of arrays. Since it works with multidimensional arrays it often allows for short and elegant programs without loops. Experience shows that the first steps with slicing need getting used to it. Therefore, numerous exercises are included in the course to cover different types of applications.

The so called broadcasting is applied in NumPy for arrays with different shapes when thy are used in computations. Missing parts of arrays are filled in if possible. A good understanding of this mechanism is a basic requirement for an effective work with NumPy.

Universal Functions

NumPy allows to apply many operations on whole arrays independent from their dimensions. Examples are use to demonstrate the usage of these universal functions.

Numerical Algebra

NumPy provides basic functionality for solving problems in numerical algebra. Examples are used to demonstrate its usage.

Interactive Data Analysis with Pandas

Pandas is a very powerful Python library for effective analysis of large amount of data. The course introduces the basic features and workflows of Pandas. Core of the course are Pandas-specific data structures and the data analysis operations they support.

Storage and Processing of Large Amounts of Data

Applications in the scientific and engineering domain often have to deal with large amounts of data. There are several ways to store data in Python. Some of them are presented in the course.


The simplest way to store data is the use of ASCII files. It is shown how ASCII files can be read and written efficiently. Techniques for conversion of column based data in Python data structures are given.

Excel Files

Many data are stored in Excel files. Python offers several ways of reading and writing data in Excel files. Access via Microsoft’s COM interface are applied as well as direct binary reading and writing of files as a platform independent solution.

NetCDF Files

The file format NetCDF can be used to store large amounts of array data up to several terabytes. Python offers an interface for NetCDF. Its handling will be covered in the course.

HDF5 Files

The HDF5-Format is used for very similar purposes as the NetCDF-Format. In fact, the new version, NetCDF4, is based on HDF5. HDF stands for hierarchical data format and offers better opportunities to organized data. The module PyTables offers a mature and comfortable interface to HDF. In the course examples for it are given.


Frequently, data are stored in databases. Python offers a uniform API for accessing all major databases. The use of this API is taught in the course.

Pickling and Shelving

Python offers ways to conveniently store Python objects with the built-in modules pickle and shelve. Complex data structures can be stored on disk for later usage without the need to come up with a file format for storage. Application as well as advantages and disadvantages are presented in the course.

Object-Oriented Programming for Scientific and Technical Projects

The object-oriented paradigm is currently prevailing in software engineering. Many scientists and engineers are more familiar with procedural programming. The course uses examples to show that object orientation can be advantageous also for typical scientific or engineering problems.

Graphical Presentation of Scientific Data

Results of scientific and technical calculations regularly need to be presented graphically. Although there are many applications available an automated production of graphics can be especially useful if many graphics need to be produced or the same graphics needs to be frequently updated.


The library matplotlib provides many different types of diagrams from within Python with only a few lines of code. Examples are used to exercise the use of this library.


Three-dimensional visualization and animation can be easily achieved with MayaVi. The standalone usage is taught in the course as well as the automation from within a Python program.

Application Integration with Python

Python is often termed as "glue language" because it proves to be especially useful for the connection of heterogeneous applications. This features makes it particularly attractive tool for scientific and technical tasks. Several different possibilities to connect very different applications into one uniform program are shown in the course.

Open Time for Solving Participant's Problems

The participants are asked before the course to provide tasks that they usually need to solve at work. Solution strategies with Python are attempted in the course.

Course Duration

3 days


The participants can follow all steps directly on their computers. There are exercises at the end of each unit providing ample opportunity to apply the freshly learned knowledge.

Course Material

Every participant receives comprehensive printed materials that cover the whole course content as wells a CD with all source codes and used software.

The Python Academy is sponsor of Django Girls Leipzig 2016

[Django Girls Leipzig 2016]

The Python Academy is sponsor of PyCon DE 2016.

[PyCon DE 2016]

The Python Academy is sponsor of PyCon Ireland 2016.

[PyCon IE 2016]

The Python Academy is sponsor of EuroSciPy 2016.

[EuroSciPy 2016]

The Python Academy is sponsor of PyCon US 2016.

[PyCon US 2016]

The Python Academy is sponsor of PyData Berlin 2016.

[PyData Berlin 2016]

The Python Academy is sponsor of PyCon Sweden 2016.

[PyCon SE 2016]

The Python Academy is sponsor of Python Unconference 2015.

[PyUnconf 2015]

The Python Academy is sponsor of EuroSciPy 2015.

[EuroSciPy 2015]

The Python Academy is sponsor of EuroPython 2015.

[EuroPython 2015]

The Python Academy is sponsor of PyData Berlin 2015.

[PyData Berlin 2015]

The Python Academy is sponsor of PyCon Montréal 2015.

[PyCon Montréal 2015]

The Python Academy is sponsor of Python BarCamp Köln 2015.

[Python BarCamp 2015]“ border=

The Python Academy is sponsor of Chemnitzer Linux-Tage 2015.

Chemnitzer Linux-Tage 2015 - 21. und 22. März 2015

The Python Academy is sponsor of Django Girls Wroclaw 2015.

[Django Girls Wroclaw 2015]

The Python Academy is sponsor of PyCon Ireland 2014.

[PyCon Ireland 2014]

The Python Academy is sponsor of EuroSciPy 2014.

[EuroSciPy 2014]

The Python Academy is sponsor of PyData London 2014.

[PyData London 2014]

The Python Academy is sponsor of EuroPython 2014.

[EuroPython 2014]

The Python Academy is sponsor of PyCon 2014 Montréal.

[PyCon 2014 Montréal]

The Python Academy is sponsor of Python BarCamp Köln 2014.

[Python BarCamp 2014]

The Python Academy is sponsor of PyConDE 2013.

[PyCon DE 2013]

The Python Academy is sponsor of EuroPython 2013.

[EuroPython 2013]

The Python Academy is sponsor of PyCon US 2013.

[PyCon US 2013]

The Python Academy is sponsor of EuroSciPy 2013.

[EuroSciPy 2013]

The Python Academy is sponsor of PyConPL 2012.

[PyCon PL 2012]


The next open cousers
details ...

Python Academy sponsors EuroPython conference 2013
details ...

Python Academy sponsors EuroSciPy conference 2013
details ...

Python Academy sponsors Python BarCamp in Cologne
details ...

Next Meeting of Leipzig Python User Group, November 12, 2013
details ...

Introduction to Django, November 11 - 13, 2013
details ...

Professional Testing with Python, November 25 - 27, 2013
details ...

Advanced Django, January 13 - 15, 2014
details ...

Python Academy sponsors PyCon US conference 2013
details ...

Python Academy founder receives PSF Community Service Award
details ...