EDS 217
  • ๐Ÿ  home
  • ๐Ÿ”Ÿ the workflow
  • ๐Ÿ“‹ syllabus
  • ๐Ÿ—“๏ธ daily materials
    • 1๏ธโƒฃ Day 1 (8/31)
    • 2๏ธโƒฃ Day 2 (9/1)
    • 3๏ธโƒฃ Day 3 (9/2)
    • 4๏ธโƒฃ Day 4 (9/3)
    • 5๏ธโƒฃ Day 5 (9/4)
    • 6๏ธโƒฃ Day 6 (9/8)
    • 7๏ธโƒฃ Day 7 (9/9)
    • 8๏ธโƒฃ Day 8 (9/10)
    • 9๏ธโƒฃ Day 9 (9/11)
  • ๐Ÿ’ป interactive sessions
    • Session 1a - โš’๏ธ Positron & Jupyter Notebooks
    • Session 1b - ๐Ÿ Python Essentials
    • Session 1c - ๐ŸŽฌ The Whole Game, Part 1
    • Session 1d - ๐ŸŽฌ The Whole Game, Part 2
    • Session 2a - ๐Ÿผ Reading Data into pandas
    • Session 2b - ๐Ÿ”Ž Exploring a DataFrame
    • Session 2d - ๐Ÿ“ Lists & Dictionaries
    • Session 3a - ๐Ÿ“ Booleans & Conditionals
    • Session 3b - ๐Ÿ” The Filter Pattern
    • Session 3c - ๐Ÿฅ‡ The Top-N Pattern
    • Session 4a - ๐Ÿงผ Missing, Duplicated, Miscast
    • Session 4b - โš™๏ธ Write It Once, Name It, Use It
    • Session 4c - โž• The Derived-Column Pattern
    • Session 5a - ๐Ÿ—‚๏ธ The Split-Apply-Combine Pattern
    • Session 5b - ๐Ÿ“Š Several Answers at Once
    • Session 5d - ๐Ÿ” When a Pattern Is Not Enough
    • Session 6a - ๐Ÿ”— The Join Pattern
    • Session 6b - ๐Ÿงฉ Long and Wide
    • Session 6c - ๐Ÿ“† A Date Is Not a Number
    • Session 7a - ๐Ÿ–ผ๏ธ The Anatomy of a Figure
    • Session 7b - ๐ŸŽจ Name the Columns, Not the Colours
    • Session 7d - ๐Ÿš€ Project Kickoff
  • ๐Ÿ™Œ coding colabs
    • ๐Ÿ™Œ Session 2c - Five Claims About a Dataset Youโ€™ve Never Seen
    • ๐Ÿ™Œ Session 3d - Which One, and How Do You Know?
    • ๐Ÿ™Œ Session 4d - From Field Sheet to DataFrame
    • ๐Ÿ™Œ Session 5c - The Comparison You Made Last Night, Properly
    • ๐Ÿ™Œ Session 6d - Two Records, Sixty-Six Years Apart
    • ๐Ÿ™Œ Session 7c - One Cloud of Points, Three Species
  • ๐Ÿ‘€ cheatsheets
  • ๐Ÿ“š resources
    • ๐Ÿ“š Python Documentation
    • ๐Ÿ“š Pandas Documentation
    • ๐Ÿ“š Numpy Documentation
    • ๐Ÿ“š Matplotlib Documentation
    • ๐Ÿ“š Seaborn Documentation
    • ๐Ÿ“š Positron Documentation
    • ๐Ÿ“š Anaconda Documentation
    • ๐Ÿ“š Stack Overflow
    • ๐Ÿ“š Real Python
    • ๐Ÿ“š Towards Data Science
    • ๐Ÿ“š DataCamp
    • ๐Ÿ“š Kaggle
    • ๐Ÿงฐ Python Tutor
    • ๐Ÿงฐ Pandas Tutor
    • ๐Ÿ“™ Python for Data Analysis
    • ๐Ÿ“™ Python for Data Science Handbook
    • ๐Ÿ“™ Python Data Science Handbook (GitHub)
    • ๐Ÿ“ป Talk Python to Me

Python for Environmental Data Science

Master of Environmental Data Science (MEDS)

Summer 2026

import antigravity

Cartoon by XKCD

Course Description

Almost every question you will ask of environmental data in this program needs code to answer it. Over nine days we build that code from nothing: writing Python, loading a dataset, reshaping the data into the form a question needs, and drawing the answer.

EDS 217 comes first in the MEDS program, and the courses that follow assume the Python we cover here. We work on real environmental datasets, in the tools environmental data scientists use, following the same data science workflow on every day of the course. By the end of the nine days you should be able to:

  • Read environmental data into a pandas DataFrame and inspect its structure and contents

  • Filter, sort, clean and transform a table to answer a question

  • Group rows and aggregate them into the comparison a question needs

  • Combine two tables, reshape between long and wide, and handle dates as objects

  • Build a figure in matplotlib or seaborn that demonstrates a pattern or relationship in data

  • Write your own Python: variables, collections, conditionals, loops and functions

  • Keep a Jupyter notebook in which every conclusion is matched to the cell that produced it

  • Work with a partner on a short piece of analysis, and present the result to the class

Syncing your classwork to GitHub

Your daily notebooks belong in a GitHub repository that you create yourself, in your own time rather than in class. Follow the directions for creating it before Friday of the second week.

The final project goes in a second repository, separate from your coursework. Day 9 covers what belongs in it, and the settings that differ.

Teaching Team


Instructor

Kelly Caylor
Email: caylor@ucsb.edu
Learn more: Bren profile

TA

Cella Schnabel
Email: cellaschnabel@ucsb.edu
Learn more: emLab profile

The Bren School of Environmental Science & Management logo

 

This website is built with and Quarto