python_reference - Python资源汇总
有关python的脚本、技巧、教程、算法和一堆有意思的东东,大部分是IPython Notebook形式提供。
- // Python tips and tutorials
- // Python and the web
- // Algorithms
- // Plotting and Visualization
- // Benchmarks
- // Python and "Data Science"
- // Other
- // Useful scripts and snippets
- // Links
// Python tips and 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 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
-
Creating internal links in IPython Notebooks and Markdown docs [IPython nb]
-
Converting Markdown to HTML and adding Python syntax highlighting [Markdown]
// Algorithms
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
The matplotlib-gallery in IPython notebooks has been moved to a separate GitHub repository matplotlib-gallery
Featured articles:
- Preparing Plots for Publication [IPython nb]
// Benchmarks
- 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"
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
-
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
-
PyPI - the Python Package Index - The official repository for all open source Python modules and packages.
-
PEP 8 - The official style guide for Python code.
// 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
-
Learn Python The Hard Way - The popular and probably most recommended resource for learning Python.
-
Dive Into Python / Dive Into Python 3 - A free Python book for experienced programmers.
-
The Hitchhiker’s Guide to Python - A free best-practice handbook for both novices and experts.
-
Think Python - How to Think Like a Computer Scientist - An introduction for beginners starting with basic concepts of programming.
-
Python Patterns - A directory of proven, reusable solutions to common programming problems.
// 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.