Tips & Tutorials

  • A collection of not so obvious Python stuff you should know! [IPython nb]
  • Python’s scope resolution for variable names and the LEGB rule [IPython nb]
  • Key differences between Python 2.x and Python 3.x [IPython nb]
  • A collection of useful regular expressions [IPython nb]
  • A random collection of useful Python snippets [IPython nb]

Scientific Computing

  • Sorting CSV files using the Python csv module [IPython nb]
  • Using Cython with and without IPython magic [IPython nb]
  • Parallel processing via the multiprocessing module [IPython nb]
  • Entry point: Data - using sci-packages to prepare data for Machine Learning tasks and other data analyses [IPython nb]
  • Quick guide for dealing with missing numbers in NumPy [IPython nb]
  • Converting large CSV files to SQLite databases using pandas [IPython nb]
  • Sparsifying a matrix by zeroing out all elements but the top k elements in a row using NumPy [IPython nb]
  • Things in pandas I wish I’d had known earlier [IPython nb]

Math & Algorithms

Data Structures


  • Creating internal links in IPython Notebooks and Markdown docs [IPython nb]
  • A Simple Barebones Flask Webapp Template [GitHub Dir]


  • 1 - Reversing strings [IPython nb]
  • 2 - Calculating sample means [IPython nb]
  • 3 - 6 different ways to count elements using a dict [IPython nb]
  • 4.1 - Python vs. Cython vs. Numba [IPython nb]
  • 4.2 - (C)Python compilers - Cython vs. Numba vs. Parakeet [IPython nb]
  • 5 - Comparing 9 ways for flattening lists of sublists [IPython nb]
  • 6 - Determining if a string is a number [IPython nb]
  • 7.1 - Speeding up NumPy array expressions with Numexpr [IPython nb]
  • 7.2 - Just-in-time compilers for NumPy array expressions [IPython nb]
  • 8 - Calculating square roots and exponents [IPython nb]
  • 9 - The most Pythonic way to check if a string ends with a particular substring [IPython nb]
  • 10 - Cython - Bridging the gap between Python and Fortran [IPython nb]
  • 11 - The deque container data type IPython nb]
  • 12 - Lightning fast insertion into sorted lists via the bisect module [IPython nb]
  • 13 - Parallel processing via the multiprocessing module [IPython nb]
  • 14 - Python’s and NumPy’s in-place operator functions [IPython nb]
  • 15 - Array indexing in NumPy: Extracting rows and columns [IPython nb]
  • 16 - Vectorizing a classic for-loop in NumPy [IPython nb]
  • 17 - Stacking NumPy arrays [IPython nb]
  • 18 - The scikit-learn preprocessing module for feature scaling [IPython nb]
  • 19 - Python 2.7.x’s izip and xrange [IPython nb]
  • 20 - Calculating the difference between successive elements in a Python list [IPython nb]