May 06, 2018
This is a rehearsal for a PyCon tutorial. Please read the description carefully to decide whether it is right for you. Space is limited, so please only RSVP if you expect to attend. No food will be provided.
Audience:
This tutorial is intended for programmers with intermediate Python skills who want to improve their ability to use Python for numerical computing.
Example participants might include:
- Software engineers who work with Python but have had limited exposure to Python’s numerical computing stack.
- Data scientists who have used numpy and pandas and want to develop a deeper understanding of how those libraries work.
By the end of this tutorial, students will learn the following skills:
- Students will learn to apply techniques like vectorization, broadcasting, and fancy indexing to write fast, clear, and idiomatic numpy code.
- Students will develop a mental model of how numpy arrays represent data.
- Students will be able to recognize common pathological uses of numpy (e.g., looping over the elements of an array to calculate a sum) and will be able to replace these pathological uses with efficient alternatives.
Requirements:
Participants are strongly encouraged, but not required, to bring a laptop with wifi and a modern browser. The structure of the tutorial will be alternating 20-30 minute sessions of lectures and exercises, with the exercises hosted on a Jupyter Notebook server so no other software should be necessary for participants.
Description:
Foundations of Numerical Computing in Python Scott Sanderson
Python is one of the world’s most popular programming languages for numerical computing. In areas of application like physical simulation, signal processing, predictive analytics, and more, engineers and data scientists increasingly use Python as their primary tool for working with large-scale numerical data.
Despite this diversity of application domains, almost all numerical programming in Python builds upon a small foundation of libraries. In particular, the numpy.ndarray is the core data structure for the entire PyData ecosystem, and the numpy library provides many of the foundational algorithms used to power more domain-specific libraries.
The goal of this tutorial is to provide an introduction to numpy – how it works, how it’s used, and what problems it aims to solve. In particular, we will focus on building up students’ mental model of how numpy works and how idiomatic usage of numpy allows us to implement algorithms much more efficiently than is possible in pure Python.
Meetup link: https://www.meetup.com/bostonpython/events/250354908/