python_reference - Python资源汇总

jopen 10年前

有关python的脚本、技巧、教程、算法和一堆有意思的东东,大部分是IPython Notebook形式提供。


// 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

[back to top]

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

  • Sorting Algorithms [IPython nb]

  • Linear regression via the least squares fit method [IPython nb]

  • Dixon's Q test to identify outliers for small sample sizes [IPython nb]

  • Sequential Selection Algorithms [IPython nb]

  • Counting points inside a hypercube [IPython nb]


// 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

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]

  • watermark - An IPython magic extension for printing date and time stamps, version numbers, and hardware information.

  • Shell script For prepending Python-shebangs to .py files.

  • Convert 'tab-delimited' to 'comma-separated' CSV files [IPython nb]

  • A random string generator function


// 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.

https://github.com/rasbt/python_reference