{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# NumPy Tutorial @ EuroSciPy 2019\n", "\n", "\n", "\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Goal of this Tutorial\n", "\n", "- Introduce the basics of scientific and numerical computation in Python using **Numpy**\n", "- Understand why `numpy` has a central role in the Python scientific ecosystem\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Outline\n", "\n", "**11:00 - 11:45** (_45 mins_) Numpy Basics\n", "\n", "- Introduction to NumPy Arrays\n", " - numpy internals schematics\n", " - Reshaping and Resizing\n", "- Numerical Data Types\n", " - Record Array\n", " \n", "**11:50 - 12:30** (_40 mins_) Indexing and Slicing\n", " \n", "- Indexing numpy arrays\n", " - fancy indexing\n", " - array masking\n", "- Slicing & Stacking\n", "- Vectorization & Broadcasting\n", "\n", "**Follow up** \"Advanced NumPy: Bits of Data Science with NumPy\n", "\n", "- Serialisation & I/O\n", " - `.mat` files\n", "- Array and Matrix\n", " - Matlab compatibility\n", "- Memmap \n", "- Beyond Numpy\n", "- ...\n", "\n", "_Tuesday 11:00 Oteiza_ (!!CHECK ONLINE PROGRAM!!)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Requirements" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tutorial has one main requirement: `numpy`.\n", "\n", "Materials are provided as Jupyter notebooks, so IPython notebook (`pip install notebook`) is also required.\n", "\n", "\n", "### Python version\n", "\n", "The minimum recommended version of Python to use for this tutorial is **Python 3.5**, although \n", "Python 2.7 should be fine, as well as previous versions of Python 3. \n", "\n", "Py3.5+ is recommended due to a reference to the `@` operator in the linear algebra notebook.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Setup your environment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you are using [Anaconda](https://www.anaconda.com) Python distribution you should already have everything that is needed.\n", "\n", "Alternatively, there is a `requirements.txt` file in the repo to install all the required packages:\n", "\n", "```\n", "$ pip install -r requirements.txt\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# MyBinder\n", "\n", "If you don't want to bother setting up the environment on your own computer, you can use MyBinder\n", "\n", "(**Note**: recommended only with a proper Wi-Fi connection)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/leriomaggio/numpy-euroscipy/master)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.7 (NumPy EuroSciPy)", "language": "python", "name": "numpy-euroscipy" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }