Table of Contents
- Tutorials
- Comparison to R
- Coding
- Functional Programming
- Concurrence Programming
- Data science
- IDE
- Performance
- Bigdata
- Database
- File formats
- Others
- Kits
- Utils
- CLI
- Data Science
- Statistical and visualization
- NumPy
- Pandas
- matplotlib
- Plots
- Map
- GUI
- Data structure and Algorithm
- Machine Learning
- NLP
- Clustering
- Optimization
- Deep learning
- Image
- GEO
- Web
- Fun
- Finance
- More
- Misc
- Python教程 (Python3版本) by 廖雪峰, python进阶
- 零基础学python
- Intermediate Python
- Python Practice Book
- pymbook
- Full Stack Python
- Migrating to Python 3 with pleasure / 在Python 2.7即将停止支持时,我们为你准备了一份3.x迁移指南
- Writing Python 2-3 compatible code | 编写兼容 Python 2 和 Python 3 的代码
- Python Cookbook
- more books
- good-to-great-python-reads/
- Python 入门指南
- Useful functions, tutorials, and other Python-related things
- Training Material | Addfor s.r.l.
- Notebook Gallery
- Python Notes Collections
- Automate the Boring Stuff with Python — Practical Programming for Total Beginners
- More
- A COLLECTION OF PYTHON “MUST READS”
- 10 python blogs worth following
- Python for Data Science vs Python for Web Development
- Computational Statistics in Python
- python-patterns - A collection of design patterns/idioms in Python
- Code Style | Python代码风格
- Python 变量命名规范
- Python安全编码与代码审计
- Python命名空间和作用域窥探
- regular-expressions, Python正则表达式指南, FuzzyFinder - in 10 lines of Python
- Python's Hidden Regular Expression Gems
- Python Tips and Traps
- Python best practices
- A random collection of useful Python snippets
- pyperform - An easy and convienent way to performance test python code.
- 像Python专家一样编程: 道地的Python,
- 初学者必知的Python中优雅的用法
- The Most Diabolical Python Antipattern
- The Little Book of Python Anti-Patterns,The Most Diabolical Python Antipattern
- Potential Pythonic Pitfalls
- Python Patterns - An Optimization Anecdote
- Python中的变量、引用、拷贝和作用域
- 深入理解Python中的生成器
- Understanding Python metaclasses, python-metaclasses-by-example, 深刻理解Python中的元类(metaclass), 使用元类
- Python: Tips, Tricks and Idioms, part2
- PythonDecoratorLibrary, more about decorator
- Python中的类和对象(中级)
- Python自省(反射)指南
- Properties
- Python Multiple Inheritance: call super on all
- Python中的默认参数
- dict and slot , SAVING 9 GB OF RAM WITH PYTHON’S SLOTS
- Python的几个特别的__开头的方法
- [译] 与 Python 无缝集成——基本特殊方法 1
- Using % and .format() for great good!
- Optimize Python with Closures
- A simple example of Python OOP development (with TDD) - Part 1
- Python 3 OOP Notebooks
- 5 Simple Rules For Building Great Python Packages | 构建健壮 Python 包的 5 个简单规则
- Python 中的进程、线程、协程、同步、异步、回调
- Inner Functions - What Are They Good For?
- __init__() 方法 1, 2, 3, 4
- Good logging practice in Python | 每个 Python 程序员都要知道的日志实践
- Why Doesn't Python Have Switch/Case?
- python编程中常用的12种基础知识总结
- Python Examples - Get python examples for popular modules.
- 30 Python Language Features and Tricks You May Not Know About | 30个有关Python的小技巧
- yapf - A formatter for Python files
- Python error check graph
- Python中eval带来的潜在风险
- 关于Python的面试题
- Functional Programming HOWTO
- A practical introduction to functional programming | 函数式编程实战教程(Python版)
- functional-programming-python.pdf
- PyToolz - Toolz provides a set of utility functions for iterators, functions, and dictionaries. example, Derive a Markov model from the human genome in
- Comprehensive learning path – Data Science in Python
- INTRODUCTION TO PYTHON FOR DATA MINING
- Python: Getting Started with Data Analysis
- Practical Data Science in Python
- code_py - A collection of well-commented code snippits for data science
- data-science-ipython-notebooks
- DataPyR
- Eight Tools That Show What’s on the Horizon for the Python Data Ecosystem
packages 1
- theano
- numba - NumPy aware dynamic Python compiler using LLVM
- multiprocessing - offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads. Multiprocessing: Task parallelism for the masses, An introduction to parallel programming, Python多进程模块Multiprocessing介绍, Communication Between Processes, Python多进程编程
- Python and Parallelism or Dask
- numexpr - Fast numerical array expression evaluator for Python, NumPy, PyTables, pandas, bcolz and more https://github.com/pydata/numexpr/wiki/Numexpr-Users-Guide
packages 2
- huey - a little multi-threaded task queue for python
- python-gearman
- Dask - provides multi-core execution on larger-than-memory datasets using blocked algorithms and task scheduling.
- Ruffus: a lightweight Python library for computational pipelines
- Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.
- pyflow - A lightweight parallel task engine http://Illumina.github.io/pyflow/
packages 3
tools
- vprof - Visual Python profiler
- scalene: a high-performance CPU and memory profiler for Python
tutorials
- 优化 Python 性能:PyPy、Numba 与 Cython,谁才是目前最优秀的 Python 运算解决方案?
- How To Make Python Run As Fast As Juli
- A guide to analyzing Python performance | Python性能分析指南
- Python: Faster Way http://pythonfasterway.uni.me
- PerformanceTips
- 7 tips to Time Python scripts and control Memory & CPU usage | 7 个测量 Python 脚本和控制内存以及 CPU 使用率的技巧
- Speeding Up Your Python Code | 加速你的Python代码
- Python 代码性能优化技巧
- Optimizing Python - a Case Study
- 6 Python Performance Tips (very new view for me) | 提升 Python 程序性能的 6 个技巧
- Why Python is Slow: Looking Under the Hood
- RunSnakeRun - a small GUI utility that allows you to view (Python) cProfile or Profile profiler dumps in a sortable GUI view
- Why Python is Slow: Looking Under the Hood
- 使用Python进行并发编程
- Theano教程:Python的内存管理
- A guide to analyzing Python performance
- Python多核编程mpi4py实践
- Python 性能分析大全
- Using Spark DataFrames for large scale data science
- Spark Programming Guide | [翻译]Spark编程指南(Python版)
- Using PyTables for Larger-Than-RAM Data Processing
- h5py
- CodernityDB - a more advanced key-value Native Python Database, with multiple key-values indexes in the same engine
- zerodb - ZeroDB is an end-to-end encrypted database. Data can be stored on untrusted database servers without ever exposing the encryption key. Clients can execute remote queries against the encrypted data without downloading all of it or suffering an excessive performance hit.
- mongo数据库基本操作-python篇
- ZODB4 - ZODB makes it really fast and easy to build and distribute Persistent Python applications
- pickleDB - pickleDB is a lightweight and simple key-value store
- tinydb - TinyDB is a lightweight document oriented database optimized for your happiness :) https://tinydb.readthedocs.org
orm
- peewee - Peewee is a simple and small ORM. It has few (but expressive) concepts, making it easy to learn and intuitive to use.
- tablib - Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c. http://python-tablib.org
- Simple CSV Data Wrangling with Python
- 电子表格
- python-pdfkit - Wkhtmltopdf python wrapper to convert html to pdf
- python-docx-template
- boltons - Like builtins, but boltons. Constructs/recipes/snippets that would be handy in the standard library. Nothing like Michael Bolton. https://boltons.readthedocs.org
- pattern - Web mining module for Python, with tools for scraping, natural language processing, machine learning, network analysis and visualization.
- dateutil
- sh - a full-fledged subprocess interface for Python that allows you to call any program as if it were a function
- duct.py - A Python library for shelling out.
- plumbum - Plumbum: Shell Combinators http://plumbum.readthedocs.org
- argcomplete - https://github.com/kislyuk/argcomplete
- emoji - emoji terminal output for Python (EMOJI CHEAT SHEET)
- retrying - Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything.
- dill - Dill extends python's 'pickle' module for serializing and de-serializing python objects to the majority of the built-in python types
- tqdm - A fast, extensible progress bar for Python https://pypi.python.org/pypi/tqdm
- pythonpy - the swiss army knife of the command line
- colorama - Cross-platform colored terminal text.
- Gooey - Turn (almost) any Python command line program into a full GUI application with one line
- GraphLab Create - powerful and usable data science tools that enable you to go quickly from inspiration to production
packages
- seaborn - Statistical data visualization using matplotlib
- Statsmodels - Statsmodels is a Python module that allows users to explore data, estimate statistical models, and perform statistical tests.
- prettyplotlib - Painlessly create beautiful matplotlib plots
- matplotlib - matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms
- ggplot - ggplot is a plotting system for Python based on R's ggplot2 and the Grammar of Graphics. It is built for making profressional looking, plots quickly with minimal code.
- pandas - Python Data Analysis Library
- NumPy - NumPy is the fundamental package for scientific computing with Python
- bokeh - Interactive Web Plotting for Python
- pygal - A python SVG Charts Creator
- trendvis - TrendVis is a plotting package that uses matplotlib to create information-dense, sparkline-like, quantitative visualizations of multiple disparate data sets in a common plot area against a common variable.
- MPLD3 - Bringing Matplotlib to the Browser
tutorials
- an introduction to statistics
- scientific-python-lectures 中文
- Overview of Python Visualization Tools
- Simple Graphing with IPython and Pandas
- Generate HTML reports with D3 graphs using Python, Plotly, and Pandas
- Frequentism and Bayesianism: A Practical Introduction
- Tentative NumPy Tutorial
- Getting the Best Performance out of NumPy
- 100 numpy exercises
- theano - a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently
- Collection of SciPy and NumPy tutorials
- official tutorial: 10 Minutes to pandas, Cookbook
- 10-minute tour of pandas, another tutorial
- 14 Best Python Pandas Features
- Pandas cookbook
- sklearn-pandas - Pandas integration with sklearn
- Summarising, Aggregating, and Grouping data in Python Pandas
- Pandas Pivot Table Explained | Pandas透视表(pivot_table)详解
- Common Excel Tasks Demonstrated in Pandas | 用Pandas完成Excel中常见的任务
- Matplotlib tutorial
- example
- matplotlib-gallery
- Implementation of typographic and design principles in matplotlib and iPython notebook
- matplotlib_for_papers
- matplotlib-venn - Area-weighted venn-diagrams for Python/matplotlib
- MPLD3 - Bringing Matplotlib to the Browser
- Creating publication-quality figures with matplotlib
- Heatmap in matplotlib with pcolor
- Cortical networks correlation matrix, Correlation_Matrix_Example.py
- ROC Curves in Python and R
- How to Create NBA Shot Charts in Python
- folium - Python Data. Leaflet.js Maps
- pyglet - a cross-platform windowing and multimedia library for Python.
- kivy - Open source UI framework written in Python, running on Windows, Linux, OS X, Android and iOS https://kivy.org
-
dablooms - A Scalable, Counting, Bloom Filter. Java, Python, Go edition.
-
inbloom - Cross language bloom filter implementation
-
datasketch - MinHash, LSH, Weighted MinHash, b-bit MinHash, HyperLogLog, HyperLogLog++
-
addit - The Python Dict that's better than heroin.
-
python-bloomfilter - Scalable Bloom Filter implemented in Python
-
madoka-python - Memory-efficient Count-Min Sketch Counter (based on Madoka C++ library## )
-
graphlab.SGraph - A scalable graph data structure. userguide
-
Algorithms - Data Structures and Algorithms in Python
-
Problem Solving with Algorithms and Data Structures using python
-
pyrsistent - Persistent/Immutable/Functional data structures for Python
-
graph-tool- Efficient network analysis
-
NetworkX - High-productivity software for complex networks
-
bidict - Efficient, Pythonic bidirectional map implementation and related functionality. https://bidict.readthedocs.org/
-
nlib - Python Library of Numerical Algorithms
-
pomegranate - Fast, flexible and easy to use probabilistic modelling in Python. http://pomegranate.readthedocs.org/en/latest/
string
- python-Levenshtein -The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity | similar package: editdistance,
- fuzzywuzzy - Fuzzy String Matching in Python http://chairnerd.seatgeek.com/fuzzywuzzy-fuzzy-string-matching-in-python/
General
- Advice for applying Machine Learning
- 最好的Python机器学习库
- 大数据分析与机器学习领域Python兵器谱, Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
- Advice for applying Machine Learning
- Four steps to master machine learning with python (including free books & resource
- Natural Language Processing with Python
- Hierarchical Clustering, Heatmaps, and Gridspec
- Linear SVM Classifier on Twitter User Recognition
- 在Python中使用线性回归预测数据
- Random Forests in Python, Random Forest Regression and Classification in R and Python, Powerful Guide to learn Random Forest (with codes in R & Python), another post: Random Forest in scikit-learn, 机器学习反欺诈实践:Python+scikit-learn+随机森林, Random forest interpretation with scikit-learn
- 6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python)
- k-Fold Cross Validation made simple
packages
- mlxtend - A library of extension and helper modules for Python's data analysis and machine learning libraries.
- PyMC3 -a python module for Bayesian statistical modeling and model fitting which focuses on advanced Markov chain Monte Carlo fitting algorithms. Its flexibility and extensibility make it applicable to a large suite of problems.
- deap - Distributed Evolutionary Algorithms in Python http://deap.readthedocs.org/
Scikit-learn
- scikit-learn, Scikit-learn tutorials for the Scipy 2013 conference, Introduction to Machine Learning with Python and Scikit-Learn, scikit-learn-book, [结合Scikit-learn介绍几种常用的特征选择方法][8], Scikit-learn机器学习, scipy_2015_sklearn_tutorial
- 结合Scikit-learn介绍几种常用的特征选择方法
- Tutorial on scikit-learn and IPython for parallel machine learning
Theano
examples
- 不到100行代码实现一个简单的推荐系统
- A Neural Network in 11 lines of Python (Part 1)
- Simple Genetic Algorithm In 15 Lines Of Python
- Python library for processing Chinese text
- newspaper - News, full-text, and article metadata extraction
- python利用utf-8编码判断中文英文字符(转)
- python-pinyin
- annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk
- pysparnn - Approximate Nearest Neighbor Search for Sparse Data in Python!
- Spearmint - Spearmint Bayesian optimization codebase
- neural-networks-and-deep-learning
- theano
- keras - Theano-based Deep Learning library (convnets, recurrent neural networks, and more). Runs on Theano and TensorFlow. http://keras.io/ DeepLearning tutorial(6)易用的深度学习框架Keras简介 DeepLearning tutorial(7)深度学习框架Keras的使用-进阶
- nolearn - Abstractions around neural net libraries, most notably Lasagne. http://pythonhosted.org/nolearn/\
- 从Theano到Lasagne:基于Python的深度学习的框架和库
- Quick Coding Intro to Neural Networks
- 利用python的theano库刷kaggle mnist排行榜
- 使用GPU和Theano加速深度学习
- 技术向:一文读懂卷积神经网络CNN
- Deep Learning Libraries by Language
- PDNN: A Python Toolkit for Deep Learning
- keras-rl - Deep Reinforcement Learning for Keras.
- Scikit-Image Tutorials
- Pillow - The friendly PIL fork http://python-pillow.github.io/
- OpenCV
- An Algorithm to Extract Looping GIFs From Videos | 从视频提取循环播放式GIF动画的算法
- Basic motion detection and tracking with Python and OpenCV (part 1, 2)| 用 Python 和 OpenCV 检测和跟踪运动对象(上,下)
- Beautiful Python: A Simple ASCII Art Generator from Images
- Python编程中使用Pillow来处理图像的基础教程
- geoplotlib - python toolbox for visualizing geographical data and making maps
-
the-flask-mega-tutorial | Flask大型教程项目, Flask 文档, awesome-flask, Designing a RESTful API with Python and Flask, Handling User Authentication With Angular and Flask
-
pyxley Python helpers for building dashboards using Flask and React
- Web Scraping With Scrapy and MongoDB, part2
- pyquery, Beautiful Soup
- Let’s Build A Web Server(part2)
- ripozo - A tool for quickly creating REST/HATEOAS/Hypermedia APIs in python http://ripozo.readthedocs.org/
- Pyxley: Python Powered Dashboards
- How to scrape a website that requires login with Python - Python, Ruby, and Golang: A Web Service Application Comparison
- grab - Web Scraping Framework http://grablib.org
update all packages:
- pip upgrade all
sudo pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 sudo pip install -U
My Python Environment Workflow with Conda
Open Sourcing a Python Project the Right Way, 中文译文
fake-factory - Faker is a Python package that generates fake data for you.