This course assumes that you have a basic knowledge of Python. If you want help getting started, or need a refresher, there are numerous materials to help you out. I recommend the following, especially if you are already confident in R, Java, or a similar language.
- Data Carpentry, Data Analysis and Visualization with Python for Social Scientists (free)
- Justin Bois Caltech Boot Camp (free)
- Programming for Everyone (free if you audit the class)
You may also want some additional practice with the topics in the following tabs.
We’ll use JupyterLab as our platform. It’s free and open source, and is particularly well suited for exploratory analyses where you want to integrate your code, results, and documentation. (If you’ve used a Jupyter Notebook before, JupyterLab is very similar.)
If you aren’t familiar with JupyterLab, watch this introductory video. Make sure to distinguish between code cells, where you run Python commands, and markdown cells, where you provide commentary and documentation.
If you aren’t familiar with basic Python syntax, you should take the Data Carpentry self-paced course listed above. For a refresher, work through the following resources:
Data structures: lists and dictionaries
We’ll make extensive use of two foundational data structures: lists and dictionaries. Make sure you are confident using both.
Loops allow you to iterate through a list – for example, to apply the same operations to a series of text documents, web pages, or tweets. Functions help you create modular code.
pandas is a powerful library for organizing and managing your data. We’ll explore the advanced features of pandas as we go through the course, but you should be familiar with the basics.
- Data Carpentry, Data Analysis and Visualization with Python for Social Scientists, Lessons 8, 9, and 10
- Python for Data Analysis by Wes McKinney, 3rd edition
- Chapter 5 is a good introduction, and the entire book is a useful reference. It’s available through the UCLA library.
Basic GIS knowledge will be very helpful throughout the course, especially for fundamental concepts such as map projections.
- Abdishakur, How To Handle Map Projections Properly In Python
- GIS wiki, State Plane Coordinate System