### What customers say ...

*pleasant atmosphere, great full-service setup right group size*

Paul Zielke, Bosch Rexroth AG about the course "Python for Programmers" more...

*[The trainer] knows well what scientists need, so his hints are very practical and valuable. The hands-on course [..] covers a wide range of examples and will be very helpful in my daily work. ..*

Dorota Jarecka, University of Warsaw, Poland about the course "Python for Scientists and Engineers" more...

*The standard Python for programmers and the customized "Python for Experts" course where a great success. ..*

Bart Hillaert, Alcatel-Lucent, Belgium more...

*I enjoyed the course very much and learned a lot. My interest for quite few of topics was ignited during the course and I will into more details. I understood many principles. All in all: Very good training! Thank you very much all the best.*

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

*Good content, thorough explanation, and practice sessions. It will be useful in my day-to-day work. Thank you, Mike!!*

Ameya Tipnis, QSpin Vlaanderen bvba about the course "Python for Programmers" more...

# Numerical Calculations with NumPy

## Target Audience

The course targets medium level to experienced Python programmers who would like to work effectively with with numerical arrays. It is also appropriate for scientists and engineers who need to write numerical code.

## Motivaton

The library NumPy is the defacto standard for the work with arrays and linear algebra. It provides array processing capabilities comparable with MATLAB and offers a high-level tool for efficient and convenient work with numerical data.

## Content

### Array-Construction and Array-Properties

There are different ways to construct arrays with numpy. Using examples the most useful way a certain purpose is demonstrated. The properties if of array objects are explained.

### Data Types

In contrast to Python data types that are determined dynamically at run time, data types of numpy arrays have to be explicitly specified. This is one requirement 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 especially the 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 if arrays with different shapes 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 show its usage.

### Working with Missing Values

Often some values in an array are missing or not valid for certain operations. NumPy offers masked and NA-masked arrays to handle these types of data. The course introduces these data structures and shows how to use them to work with real-life data.

### Customizing Error Handling

Numerical errors such as division by zero, over and underflow or invalid floating point operations happen during calculations. NumPy offers a fine-grained approach to handle these types of errors without impacting the performance.

### Testing Support

Testing is very important for code quality. NumPy includes helpers to write to test code. The course introduces to testing basics with NumPy.

## Course Duration

1 day

## Exercises

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 as all source codes and used software.

## Recommended Module Combinations

You might be interested in the modules Advanced Python, Optimizing of Python Programs or Python Extensions with Other Languages as well.

You should have intermediate Python experience or attend the course Python for Programmers before taking this course.

**The Python Academy is sponsor of PyConIE 2018.**

**The Python Academy is sponsor of PyCon.DE 2018.**

**The Python Academy is sponsor of PyCon Spain 2018.**

**The Python Academy is sponsor of PyCon Ghana 2018.**

**The Python Academy is sponsor of EuroPython 2018.**

**The Python Academy is sponsor of DjangCon Europe 2018.**

**The Python Academy is sponsor of PyCon US 2018.**

**The Python Academy is sponsor of PyConIE 2017.**

**The Python Academy is sponsor of EuroPython 2017.**

**The Python Academy is sponsor of PyCon US 2017.**

**The Python Academy is sponsor of PythonCamp Köln 2017.**

**The Python Academy is sponsor of Django Girls Leipzig 2016**

**The Python Academy is sponsor of PyCon DE 2016.**

**The Python Academy is sponsor of PyCon Ireland 2016.**

**The Python Academy is sponsor of EuroSciPy 2016.**

**The Python Academy is sponsor of PyCon US 2016.**

**The Python Academy is sponsor of PyData Berlin 2016.**

**The Python Academy is sponsor of PyCon Sweden 2016.**

**The Python Academy is sponsor of Python Unconference 2015.**

**The Python Academy is sponsor of EuroSciPy 2015.**

**The Python Academy is sponsor of EuroPython 2015.**

**The Python Academy is sponsor of PyData Berlin 2015.**

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

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

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

**The Python Academy is sponsor of ****Django Girls Wroclaw 2015.**

**The Python Academy is sponsor of PyCon Ireland 2014.**

**The Python Academy is sponsor of EuroSciPy 2014.**

**The Python Academy is sponsor of PyData London 2014.**

**The Python Academy is sponsor of EuroPython 2014.**

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

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

**The Python Academy is sponsor of PyConDE 2013.**

**The Python Academy is sponsor of EuroPython 2013.**

**The Python Academy is sponsor of PyCon US 2013.**

**The Python Academy is sponsor of EuroSciPy 2013.**

**The Python Academy is sponsor of PyConPL 2012.**