from IPython.core.display import HTML
css_file = '../styles.css'
HTML(open(css_file, "r").read())
These lessons are modified from Software Carpentry's python lesssons to be more specific to astronomy and cover Python 3.
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.
Our goal in this lesson isn't to teach you all of Python's syntax, but to teach you the basic concepts that all programming depends upon.
We are studying data on the brightnesses of stars in a small patch of sky. We have a dozen data sets covering different time spans. The data sets are stored in comma-seperated-values (CSV) format. Each row holds information for a single star, and the columns represent successive days. The first few rows of our first file might 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 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 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 0,0,2,0,4,2,2,1,6,7,10,7,9,13,8,8,15,10,10,7,17,4,4,7,6,15,6,4,9,11,3,5,6,3,3,4 0,1,1,3,3,1,3,5,2,4,4,7,6,5,3,10,8,10,6,17,9,14,9,7,13,9,12,6,7,7,9,6,3,2,2,4
We want to:
* load that data into memory,
* calculate the average brightness per day across all stars, and
* plot the result.
To do all that, we'll have to learn a little bit about programming.
Learners need to understand the concepts of files and directories (including the working directory) and how to start a Python interpreter before tackling this lesson. This lesson references the Jupyter Notebook although it can be taught through any Python interpreter. The commands in this lesson pertain to Python 3.2.
If you haven't already you will need to download some files to follow this lesson:
- Make a new folder somewhere on your computer called
python-bootcamp
.- Download the zip archive of the Python bootcamp notebooks. Move the zip file to the python-bootcamp folder.
- If it's not unzipped yet, double-click on it to unzip it. You should end up with a new folder called
data
, a few other folders and a number of Jupyter notebooks for you to run, including this one.- Start the Jupyter notebook server, and open this notebook - named '00-index.ipynb'