/python_reference

Useful functions, tutorials, and other Python-related things

Primary LanguageJupyter Notebook

A collection of useful scripts, tutorials, and other Python-related things


Python tips and tutorials [back to top]

  • 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 thorough guide to SQLite database operations in Python [Markdown]

  • Unit testing in Python - Why we want to make it a habit [Markdown]

  • Installing Scientific Packages for Python3 on MacOS 10.9 Mavericks [Markdown]

  • 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]

  • Awesome things that you can do in IPython Notebooks (in progress) [IPython nb]

  • A collection of useful regular expressions [IPython nb]

  • Quick guide for dealing with missing numbers in NumPy [IPython nb]

  • A random collection of useful Python snippets [IPython nb]

  • Things in pandas I wish I'd had known earlier [IPython nb]


Python and the web [back to top]

  • Creating internal links in IPython Notebooks and Markdown docs [IPython nb]

  • Converting Markdown to HTML and adding Python syntax highlighting [Markdown]


Algorithms and Data Structures [back to top]

This category has been moved to a separate GitHub repository rasbt/algorithms_in_ipython_notebooks


Plotting and Visualization [back to top]

The matplotlib-gallery in IPython notebooks has been moved to a separate GitHub repository matplotlib-gallery

Featured articles:


Benchmarks [back to top]
  • Simple tricks to speed up the sum calculation in pandas [IPython nb]

*More benchmarks can be found in the separate GitHub repository [One-Python-benchmark-per-day](https://github.com/rasbt/One-Python-benchmark-per-day)*

Featured articles:

  • (C)Python compilers - Cython vs. Numba vs. Parakeet [IPython nb]

  • Just-in-time compilers for NumPy array expressions [IPython nb]

  • Cython - Bridging the gap between Python and Fortran [IPython nb]

  • Parallel processing via the multiprocessing module [IPython nb]

  • Vectorizing a classic for-loop in NumPy [IPython nb]


Python and "Data Science" [back to top]

The "data science"-related posts have been moved to a separate GitHub repository pattern_classification

Featured articles:

  • Entry Point: Data - Using Python's sci-packages to prepare data for Machine Learning tasks and other data analyses [IPython nb]

  • About Feature Scaling: Standardization and Min-Max-Scaling (Normalization) [IPython nb]

  • Principal Component Analysis (PCA) [IPython nb]

  • Linear Discriminant Analysis (LDA) [IPython nb]

  • Kernel density estimation via the Parzen-window technique [IPython nb]


Useful scripts and snippets [back to top]


Other [back to top]


Links [back to top]


// News

  • Python subreddit - My favorite resource to catch up with Python news and great Python-related articles.

  • Python community on Google+ - A nice and friendly community to share and discuss everything about Python.

  • Python Weekly - A free weekly newsletter featuring curated news, articles, new releases, jobs etc. related to Python.


// Resources for learning Python


// My favorite Python projects and packages

  • The IPython Notebook - An interactive computational environment for combining code execution, documentation (with Markdown and LateX support), inline plots, and rich media all in one document.

  • matplotlib - Python's favorite plotting library.

  • NumPy - A library for multi-dimensional arrays and matrices, along with a large library of high-level mathematical functions to operate on these arrays.

  • SciPy - A library that provides various useful functions for numerical computing, such as modules for optimization, linear algebra, integration, interpolation, ...

  • pandas - High-performance, easy-to-use data structures and data analysis tools build on top of NumPy.

  • Cython - C-extensions for Python, an optimizing static compiler to combine Python and C code.

  • Numba - A just-in-time specializing compiler which compiles annotated Python and NumPy code to LLVM (through decorators)

  • scikit-learn - A powerful machine learning library for Python and tools for efficient data mining and analysis.