Bootcamp, Winter 2021     Agenda     Registration     About

Introduction to NumPy


Instructor bio

Description

This session covers the basics of NumPy, the package that underlies most scientific computing done in Python. It will explain the NumPy array, the principal data type in the NumPy package, and how it differs from similar Python structures like lists. There will be particular emphasis on understanding the two core features of NumPy arrays – vectorization and broadcasting – and how they can be leveraged to write concise and powerful scientific code in Python. There will be hands-on exercises, including with multidimensional arrays.

This session is ideal for those who already use Python and are either new to NumPy or have used NumPy before but would like to develop more comfort with its syntax, underlying data model, and performance features.

Learning objectives

Participants will learn the basic syntax of NumPy arrays, as well as important dos and don’ts for how to use them effectively in their own applications. Participants will also gain awareness of useful NumPy subpackages and leave with enough know-how to incorporate those packages into their own codes.

Knowledge prerequisites

Participants should have reasonable facility with the Python programming language, and in particular how Python lists work (how to access list elements, slicing notation, the underlying data storage model, etc). This session is not appropriate for those with no prior Python experience. However, no previous experience with NumPy is required.

Hardware/software prerequisites

Overarching requirements for all PICSciE virtual workshops are listed on the advance setup guide for PICSciE virtual workshops. In addition, for the hands-on portions of this session, participants should install the Anaconda Python 3 distribution – which includes Jupyter notebooks and NumPy – on their laptops in advance. Instructions can be found on the PICSciE virtual workshops requirements page.

Alternately, participants without Python 3 installed on their laptops who prefer to run Jupyter Notebooks remotely on one of Princeton’s systems can do so the “myadroit” web interface to the Adroit cluster. To access myadroit, you should first register for an account on Adroit, as described in the advance setup guide for PICSciE virtual workshops. Then, connect to “myadroit” and start a Jupyter session, as described here.

Session format

Presentation, demo, and hands-on

Session Materials

All presentation materials are in this Github repo.

Session Recording

This session was NOT recorded.