****DataCamp has interactive tutorials for methods and tools used in data analysis. Below are a few of the courses that can help you to get started doing mathematical statistics in python!

- Introduction to Python - DataCampThis is an interactive lesson introducing python for data science. A great resource for those new to programming.
- Intermediate Python for Data Science - DataCampThis course goes over basic data structures in python, constructing graphs, extracting and manipulating data.
- Statistical Thinking in Python (Part 1) - DataCampThis course covers the basics of generating summary statistics and probability distributions of your data.
- Statistical Thinking in Python (Part 2) - DataCampThis course covers estimating parameters from data, bootstrapping, and hypothesis testing with data in python.

The resources below are some online lessons that focus on learning how to program in python.

- Python For EverybodyThis site has lessons on programming in python given by Dr. Charles Severance of the University of Michigan.The lessons cover some of the fundamentals of programming in python with video lessons and example code. It is great place to start for those new to programming.
- Programming with Python - Software CarpentryThis is course material for programming in python and data analysis. This is a rendered notebook and has example code throughout.
- Python track in ExercismExercism has a series of coding challenges in python. Users create an account and start with a beginner level challenge (i.e. Hello World!) and move to progressively harder challenges. After each challenge the site has mentors review and provide feedback, which can be a great way to learn more efficient coding practices (but you can also opt out of this feedback).
- Python 3 for beginnersVideo tutorials on fundamentals python programming

Jupyter Notebooks allow for text, code, and figures to all be on one document. It is a great way to share code. If you want to learn more about using Jupyter notebooks, check out some of the resources below!

- Jupyter Notebook Tutorial: Definitive GuideGeneral overview of what a Jupyter Notebook is, why we use it, and how. Some tips and tricks included.
- Jupyter Notebooks for Beginners: A TutorialAn overview of how to get started using Jupyter Notebooks from the Dataquest Data Science Blog.
- Jupyter Notebook Cheat SheetA reference page for many of the tools and controls in Jupyter Notebooks put together by DataCamp.
- Markdown Cheat SheetThis is a reference sheet for how to customize the text components of your notebook.

- Python for Data Analysis byISBN: 9781449319793Publication Date: 2012-11-01Python for Data Analysis is concerned with the nuts and bolts of manipulating, processing, cleaning, and crunching data in Python. It is also a practical, modern introduction to scientific computing in Python, tailored for data-intensive applications. This is a book about the parts of the Python language and libraries you'll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods using Python as the implementation language. Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It's ideal for analysts new to Python and for Python programmers new to scientific computing. Use the IPython interactive shell as your primary development environment Learn basic and advanced NumPy (Numerical Python) features Get started with data analysis tools in the pandas library Use high-performance tools to load, clean, transform, merge, and reshape data Create scatter plots and static or interactive visualizations with matplotlib Apply the pandas groupby facility to slice, dice, and summarize datasets Measure data by points in time, whether it's specific instances, fixed periods, or intervals Learn how to solve problems in web analytics, social sciences, finance, and economics, through detailed examples
- Data Science from Scratch byISBN: 9781491901427Publication Date: 2015-04-30Data science libraries, frameworks, modules, and toolkits are great for doing data science, but they're also a good way to dive into the discipline without actually understanding data science. In this book, you'll learn how many of the most fundamental data science tools and algorithms work by implementing them from scratch. If you have an aptitude for mathematics and some programming skills, author Joel Grus will help you get comfortable with the math and statistics at the core of data science, and with hacking skills you need to get started as a data scientist. Today's messy glut of data holds answers to questions no one's even thought to ask. This book provides you with the know-how to dig those answers out. Get a crash course in Python Learn the basics of linear algebra, statistics, and probability--and understand how and when they're used in data science Collect, explore, clean, munge, and manipulate data Dive into the fundamentals of machine learning Implement models such as k-nearest Neighbors, Naive Bayes, linear and logistic regression, decision trees, neural networks, and clustering Explore recommender systems, natural language processing, network analysis, MapReduce, and databases
- Python Data Science Handbook byISBN: 9781491912058Publication Date: 2016-12-10For many researchers, Python is a first-class tool mainly because of its libraries for storing, manipulating, and gaining insight from data. Several resources exist for individual pieces of this data science stack, but only with the Python Data Science Handbook do you get them all--IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and other related tools. Working scientists and data crunchers familiar with reading and writing Python code will find this comprehensive desk reference ideal for tackling day-to-day issues: manipulating, transforming, and cleaning data; visualizing different types of data; and using data to build statistical or machine learning models. Quite simply, this is the must-have reference for scientific computing in Python. With this handbook, you'll learn how to use: IPython and Jupyter: provide computational environments for data scientists using Python NumPy: includes the ndarray for efficient storage and manipulation of dense data arrays in Python Pandas: features the DataFrame for efficient storage and manipulation of labeled/columnar data in Python Matplotlib: includes capabilities for a flexible range of data visualizations in Python Scikit-Learn: for efficient and clean Python implementations of the most important and established machine learning algorithms

Can't get your code to run? Or maybe the output is making you question if the code worked the way you expected? Don't worry! You're probably not the first (or the second or the third...) person to run into this problem. Stack Overflow is a community message board often used to ask and answer programming questions. If you search your error message or question you may find it has already been asked and answered on the site!

At some point you'll probably need to ask someone for help with your code (Everyone does!). You'll get your answer faster if you provide some important information like the error message you got, the code that is causing the error (the error usually tells you the line that is causing the problem), what you want the code to do, and what you've already tried to fix the problem. Stack Overflow has some tips on how to ask questions so that you can get the most helpful answers.