Python learning and data analysis resources. Please, contribute and get in touch! See MDmisc notes for other programming and genomics-related notes.
-
Advanced Jupyter Notebooks: A Tutorial - detailed and illustrated guide
-
NumPy history and principles of array programming for the Python language. Vectorized calculations on arrays, including arithmetic, statistics, trigonometry. Broadcasting (expanding dimensions that differ). Coupling with SciPy and Matplotlib.
Paper
Harris, Charles R., K. Jarrod Millman, Stéfan J. Van Der Walt, Ralf Gommers, Pauli Virtanen, David Cournapeau, Eric Wieser et al. "Array programming with NumPy." Nature 585, no. 7825 (2020): 357-362. https://doi.org/10.1038/s41586-020-2649-2
- SciPy scientific Python library development, history, algorithms (signal/image processing, plotting, integrals, ODE solvers, optimization, genetic algorithms, splines, parallel programming, many more). Started in 2001, over 100K dependent repositories. Includes 16 data packages (Box2). Documentation.
Paper
SciPy 1.0 Contributors, Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland, Tyler Reddy, David Cournapeau, et al. “SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python.” Nature Methods, February 3, 2020. https://doi.org/10.1038/s41592-019-0686-2.
- TheAlgorithms/Python - All Algorithms implemented in Python. Directory of categorized algorithms.
-
awesome-jupyter - A curated list of awesome Jupyter projects, libraries and resources
-
awesome-python - A curated list of awesome Python frameworks, libraries, software and resources, GitHub
-
awesome-python-talks - An opinionated list of awesome videos related to Python, with a focus on training and gaining hands-on experience
-
awesome-scientific-python - A curated list of awesome scientific Python resources
-
matplotlib/cheatsheets GitHub repo, Official Matplotlib cheat sheets
-
py_resources - Collection of Python learning resources (beginner resources, specific features, intermediate to advance resources, domain specific resources)
-
python-cheatsheet - Comprehensive Python Cheatsheet
-
30-Days-Of-Python - 30 days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than100 days, follow your own pace.
-
A Whirlwind Tour of Python book by Jake VanderPlas, O'Relly web wersion
-
An open access book on Python, OpenGL and Scientific Visualization, Nicolas P. Rougier, 2018. GitHub
-
About Learning Python, 5th Edition by Mark Lutz. Chapter samples, code
-
cookbook-2nd - IPython Cookbook, Second Edition, by Cyrille Rossant, Packt Publishing 2018. Code and chapters, excellent resource. Compiled version
-
data-science-ipython-notebooks - Continually updated data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe), scikit-learn, Kaggle, Spark, Hadoop MapReduce, HDFS, matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines
-
free-python-books - Many Python learning resources, grouped into introductory, intermediate, advanced, AI and machine learning, and other categories.
-
Intro to Python for Data Science - free DataCamp course
-
Intermediate Python, review with references to other e-books
-
Intro to Algorithms with Python - 2h 10m video by Joy Brooks
-
Introductory Python lectures - IPython notebooks
-
Introduction to Computer Science and Programming in Python. Video Series from MIT 6.0001
-
Harvard CS50’s Introduction to Programming with Python – Full University Course - 16 hours Python course from Harvard University. Slides, source code, and more
-
How to Think Like a Computer Scientist - Learning Python programming from ground up
-
Hydropythonica - Python programming basics. Lecture slides, iPython notebooks. Rus
-
Learn Python the Hard Way - book with exercises. Python 2 and 3 versions
-
learn-python3 - a series of notebooks with exercises covering Python3 programming language. Beginner and intermediate material
-
Mastering Python for Bioinformatics by Ken Youens-Clark, GitHub code part
-
practical-python - Practical Python Programming, course by David Beazley
-
Python Programming for Beginners – Full Course - 4h40m video course on Python basics, by Beau Carnes. Examples of the Rock, Paper, Scissors and Blackjack games. Uses Replit for in-browser coding. Accompanying The Python Handbook – Learn Python for Beginners by Flavio Copes
-
python-guide - Python best practices guidebook, written for humans. "The Hitchhiker's Guide to Python" book by Kenneth Reitz and Tanya Schlusser
-
Python for Data Analysis, 2nd Edition - Materials and IPython notebooks for "Python for Data Analysis" by Wes McKinney, published by O'Reilly Media.
-
Python Data Science Handbook: full text in Jupyter Notebooks GitHub repo and web version, by Jake VanderPlas. The corresponding print Python Data Science Handbook
-
Python 101 book, and a link to "Python 201". Blog post announcing it as free-donation available, blog post
-
PY4E, Python for Everybody, Exploring Data In Python 3 - book providing an Informatics-oriented introduction to programming, with videos
-
python_for_r_users - Material for the workshop Python for R users.
-
r_and_python_book - An Introduction to R and Python For Data Analysis: A Side By Side Approach. Bookdown
-
Scientific Python lectures - Lectures on scientific computing with python, as IPython notebooks
-
These 7 GitHub repositories will take your Python skills to the next level Tweet thread by Chris Staudinger
-
Tiny Python Projectsby Ken Youens-Clark, GitHub code and Youtube videos. new.py - automates skeleton creation for new Python programs
-
Virgilio - Your new Mentor for Data Science E-Learning. Layered approach to Pyhton and Machine Learning. From basics to advanced deep learning
-
wtfpython - Python gotchas, exploring and understanding Python through surprising snippets.
-
Data 8: The Foundations of Data Science - statistically-oriented data science course with Python programming. Computational and Inferential Thinking book, lecture materials and videos.
-
Easier data analysis in Python with pandas (video series) - Pandas for beginners. Youtube
-
Intro to Pandas data structures - a gentle introduction to data analysis using pandas
-
Pandas Exercises - Structured exercises as files: 1. Exercise instructions, 2. Solutions without code, 3. Solutions with code and comments.
-
pandas-cookbook - Recipes for using Python's pandas library. Detailed tutorials
- Clust - Python script for gene clustering without strict requirement of all genes being assigned to clusters. Also, clustering across multiple datasets to find similar patterns. Timecourse clustering. Outperforms seven clustering techniques (cross-clustering, k-means, SOM, MCL, HC, Click, WGCNA) using seven metrics (Davies-Bouldin, BIC, silhouette, Calinski-Harabasz, Ball-Hall, Xu, within-between indices).
Paper
Abu-Jamous, Basel, and Steven Kelly. “Clust: Automatic Extraction of Optimal Co-Expressed Gene Clusters from Gene Expression Data” Genome Biology 19, no. 1 (December 2018) https://doi.org/10.1186/s13059-018-1536-8
-
graph-tool - Graph-tool is an efficient Python module for manipulation and statistical analysis of graphs (a.k.a. networks).
-
Python Visualization Landscape - Adaptation of Jake VanderPlas graphic about python visualization landscape. Web, Jake's Slides and Video
-
Scientific Visualization: Python + Matplotlib by Nicolas P. Rougier. Tweet, GitHub
-
Scientific_graphics_in_python - Scientific graphics in Python. Rus
-
70+ Python Projects with source code and tutorials. Tweet
-
A gallery of interesting IPython Notebooks - notebooks introducing Python and statistics, machine learning and data-driven analysis
-
pytudes - Python programs, usually short, of considerable difficulty, to perfect particular skills. IPython notebooks for Colab, DeepNote, MyBinder, etc., python scripts. By Peter Norvig
-
Python_notes - Data science in Python notes (Russian)
-
Comprehensive Beginner’s Guide to Jupyter Notebooks for Data Science & Machine Learning, by Analytics Vidhya
-
jupyter-book - Create beautiful, publication-quality books and documents from computational content.
-
PyLab - web based scientific computing platform supporting Python, GPU
-
Rule, Adam, Amanda Birmingham, Cristal Zuniga, Ilkay Altintas, Shih-Cheng Huang, Rob Knight, Niema Moshiri, et al. “Ten Simple Rules for Writing and Sharing Computational Analyses in Jupyter Notebooks.” PLoS Computational Biology 15, no. 7 (July 2019) - Jupyter notebook practices. ipywidgets, watermark, papermill, nbviewer, binder. Notebook examples, Guide for Reproducible Research and Data Science in Jupyter Notebooks