The best way to learn how to program is to do something useful, so this introduction to Python is built around a common scientific task: data analysis.
We will get to some astronomy-specific examples later on, but for the first part of the course we will focus on the data set used for the Software Carpentry introduction to Python programming, which is a data set studying inflammation in patients who have been given a new treatment for arthritis. Our goal will be to analyze the first dozen data sets of their daily inflammation. The data sets are stored in comma-separated values (CSV) format:
- each row holds information for a single patient,
- columns represent successive days.
The first three rows of our first file look like this:
0,0,1,3,1,2,4,7,8,3,3,3,10,5,7,4,7,7,12,18,6,13,11,11,7,7,4,6,8,8,4,4,5,7,3,4,2,3,0,0
0,1,2,1,2,1,3,2,2,6,10,11,5,9,4,4,7,16,8,6,18,4,12,5,12,7,11,5,11,3,3,5,4,4,5,5,1,1,0,1
0,1,1,3,3,2,6,2,5,9,5,7,4,5,4,15,5,11,9,10,19,14,12,17,7,12,11,7,4,2,10,5,4,2,2,3,2,2,1,1
Each number represents the number of inflammation bouts that a particular patient experienced on a given day. For example, value “6” at row 3 column 7 of the data set above means that the third patient was experiencing inflammation six times on the seventh day of the clinical study.
So, we want to:
- Calculate the average inflammation per day across all patients.
- Plot the result to discuss and share with colleagues.
To do all that, we’ll have to learn a little bit about programming.
Following this introductory material, we will briefly introduce some tips on good Python programming style, before introducing the important Python modules for numerical work and data analysis in Astronomy and Astrophysics. These are Numpy, Scipy and Astropy.
Prerequisites
You need to understand the concepts of files and directories and how to start a Python interpreter before tackling this lesson. This lesson sometimes references JupyterLab and Jupyter Notebook although in practice you can use any Python interpreter.
The commands in this lesson pertain to Python 3.
Getting Started
To get started, follow the directions on the “Setup” page to download data and install a Python interpreter.