All Projects → rougier → scipy-crash-course

rougier / scipy-crash-course

Licence: CC-BY-4.0 license
Material for a 24 hours course on Scientific Python

Projects that are alternatives of or similar to scipy-crash-course

Notes Python
中文 Python 笔记
Stars: ✭ 6,127 (+6152.04%)
Mutual labels:  scipy, matplotlib
jupyter boilerplate
Adds a customizable menu item to Jupyter (IPython) notebooks to insert boilerplate snippets of code
Stars: ✭ 69 (-29.59%)
Mutual labels:  scipy, matplotlib
Mlcourse.ai
Open Machine Learning Course
Stars: ✭ 7,963 (+8025.51%)
Mutual labels:  scipy, matplotlib
Scipy Lecture Notes Zh Cn
中文版scipy-lecture-notes. 网站下线, 以离线HTML的形式继续更新, 见release.
Stars: ✭ 362 (+269.39%)
Mutual labels:  scipy, matplotlib
skan
Python module to analyse skeleton (thin object) images
Stars: ✭ 92 (-6.12%)
Mutual labels:  scipy, numba
Stats Maths With Python
General statistics, mathematical programming, and numerical/scientific computing scripts and notebooks in Python
Stars: ✭ 381 (+288.78%)
Mutual labels:  scipy, matplotlib
Ml Cheatsheet
A constantly updated python machine learning cheatsheet
Stars: ✭ 136 (+38.78%)
Mutual labels:  scipy, matplotlib
Scipy-Bordeaux-2017
Course taught at the University of Bordeaux in the academic year 2017 for PhD students.
Stars: ✭ 16 (-83.67%)
Mutual labels:  scipy, matplotlib
CNCC-2019
Computational Neuroscience Crash Course (CNCC 2019)
Stars: ✭ 26 (-73.47%)
Mutual labels:  scipy, matplotlib
Tftb
A Python module for time-frequency analysis
Stars: ✭ 185 (+88.78%)
Mutual labels:  scipy, matplotlib
Audio Spectrum Analyzer In Python
A series of Jupyter notebooks and python files which stream audio from a microphone using pyaudio, then processes it.
Stars: ✭ 273 (+178.57%)
Mutual labels:  scipy, matplotlib
The Elements Of Statistical Learning Notebooks
Jupyter notebooks for summarizing and reproducing the textbook "The Elements of Statistical Learning" 2/E by Hastie, Tibshirani, and Friedman
Stars: ✭ 241 (+145.92%)
Mutual labels:  scipy, matplotlib
Python-Matematica
Explorando aspectos fundamentais da matemática com Python e Jupyter
Stars: ✭ 41 (-58.16%)
Mutual labels:  scipy, matplotlib
Data Science Ipython Notebooks
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Stars: ✭ 22,048 (+22397.96%)
Mutual labels:  scipy, matplotlib
sentences-similarity-cluster
Calculate similarity of sentences & Cluster the result.
Stars: ✭ 14 (-85.71%)
Mutual labels:  scipy, matplotlib
Ncar Python Tutorial
Numerical & Scientific Computing with Python Tutorial
Stars: ✭ 50 (-48.98%)
Mutual labels:  scipy, matplotlib
anesthetic
Nested Sampling post-processing and plotting
Stars: ✭ 34 (-65.31%)
Mutual labels:  scipy, matplotlib
introduction to ml with python
도서 "[개정판] 파이썬 라이브러리를 활용한 머신 러닝"의 주피터 노트북과 코드입니다.
Stars: ✭ 211 (+115.31%)
Mutual labels:  scipy, matplotlib
Data Analysis
主要是爬虫与数据分析项目总结,外加建模与机器学习,模型的评估。
Stars: ✭ 142 (+44.9%)
Mutual labels:  scipy, matplotlib
Cheatsheets Ai
Essential Cheat Sheets for deep learning and machine learning researchers https://medium.com/@kailashahirwar/essential-cheat-sheets-for-machine-learning-and-deep-learning-researchers-efb6a8ebd2e5
Stars: ✭ 14,095 (+14282.65%)
Mutual labels:  scipy, matplotlib

Scientific Python Crash Course

This is the material for a 20 hours crash course on Scientific Python that has been split in 5 beginner and 3 advanced modules. Contributions and feedbacks are welcome. Released under a CC-BY 4.0 International license.

Nicolas P. Rougier


Material

1. Installation

This lesson aims at providing the student with a clean development environment, including Python installation and essential packages (using the Anaconda installer), a decent text editor (e.g. emacs, vim, atom, notepad++), a git command line and a shell. We'll also introduce the Python & IPython shells, the Jupyter notebook and explains how to run a python script from the command line or from inside the IPython shell.

Keywords: anaconda, shell, notebook, script, git, editor
Prerequisites: None
Resources: None


2. Introduction

We introduce here the Python language. Only the bare minimum necessary for getting started with Numpy and Scipy is addressed here. To learn more about the language, consider going through the excellent tutorial https://docs.python.org/tutorial. Dedicated books are also available, such as http://www.diveintopython.net/.

Keywords: python, types, control flow, function, package
Prerequisites: Installation
Resources: The Python tutorial


3. Numerical computing (numpy)

This lesson gives an overview of NumPy, the core library for performant numerical computing, with support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.

Keywords: numpy, array, dtype, shape, broadcast
Prerequisites: Introduction
Resources: SciPy Lecture Notes


4. Data visualization (matplotlib)

In this lesson, we are going to explore Matplotlib that is the single most used Python package for 2D-graphics. It provides both a very quick way to visualize data from Python and to produce publication-quality figures in many different formats. We'll cover only most common use cases.

Keywords: matplotlib, figure, plot, data
Prerequisites: Introduction, Numerical computing
Resources: Scientific Visulization: Python + Matplotlib


5. Scientific computing (scipy)

We'll explore the SciPy library that contains a large number of independent modules for optimization, linear algebra, integration, interpolation, special functions, FFT, signal and image processing, ODE solvers and other tasks common in science and engineering.

Keywords: linear algebra, signal processing, analysis, integration, solvers
Prerequisites: Numerical Computing
Resources: SciPy Lecture Notes


6. Version Control (git)

Version control is the lab notebook of the digital world: it’s what professionals use to keep track of what they’ve done and to collaborate with other people. Every large software development project relies on it, and most programmers use it for their small jobs as well. And it isn’t just for software: books, papers, small data sets, and anything that changes over time or needs to be shared can and should be stored in a version control system.

Keywords: git, github, clone, commit, push, fork
Prerequisites: Installation
Resources: Software Carpentry


7. Vectorization techniques (numpy)

The goal of this lesson is to explain some vectorization techniques that can drastically improve computation, with several orders of magnitude in some cases.

Keywords: Code, Problem, Spatial, Temporal
Prerequisites: Numerical Computing
Resources: From Python to Numpy


8. Interface with C (cython and ctypes)

Cython is a static compiler for both the Python programming language and the extended Cython programming language that eases the writing of C extensions. Numba translates Python functions to optimized machine code at runtime (just in time) using the industry-standard LLVM compiler library.

Keywords: Optimization, Cython, Numba, Compiler, JIT
Prerequisites: Numerical Computing , Vectorization techniques
Resources: SciPy Lecture Notes


Bibliography

Copyright notice

Copyright © 2021 Nicolas P. Rougier — Released under a CC-BY 4.0 International license.
Banner image copyright © Randall Monroe (XKCD #353) — This course has been written in November 2021 using:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].