Summary and Setup
Python is a general purpose programming language that is useful for writing scripts to work effectively and reproducibly with data.
This is an introduction to Python designed for participants with no programming experience. These lessons can be taught in one and a half days (~ 10 hours). They start with some basic information about Python syntax, the Jupyter notebook interface, and move through how to import CSV files, using the pandas package to work with data frames, how to calculate summary information from a data frame, and a brief introduction to plotting. The last lesson demonstrates how to work with databases directly from Python.
Getting Started
Data Carpentry’s teaching is hands-on, so participants are encouraged
to use their own computers to ensure the proper setup of tools for an
efficient workflow.
These lessons assume no prior knowledge
of the skills or tools.
To get started, follow the directions in the “Setup” tab to download data to your computer and follow any installation instructions.
For Instructors
If you are teaching this lesson in a workshop, please see the Instructor notes.
Data
Data for this lesson is from the Portal Project Teaching Database. Specifically, we use the following eight data files:
- bouldercreek_09_2013.txt
- plots.csv
- portal_mammals.sqlite
- species.csv
- speciesSubset.csv
- surveys.csv
- surveys2001.csv
- surveys2002.csv
Please download them (by clicking on the corresponding links) and move them to the same directory, or download all the files as a zip which will give you everything in a single compressed file. You’ll need to unzip this file after downloading it.
Installing Python using Anaconda
Python is a popular language for scientific computing, and great for general-purpose programming as well. Installing all of the scientific packages we use in the lesson individually can be a bit cumbersome, and therefore recommend the all-in-one installer Anaconda.
Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., 3.10 is fine and will continue to receive security patches unitl 2026-OCT-04).
Installing Anaconda
Select your operating system from the options below.
Open https://www.anaconda.com/products/individual in your web browser.
Download the Anaconda Python 3 installer for Windows.
Double-click the executable and install Python 3 using the recommended settings. Make sure that Register Anaconda as my default Python 3.x option is checked – it should be in the latest version of Anaconda.
Verify the installation: click Start, search and select
Anaconda Prompt
from the menu. A window should pop up where you can now type commands such as checking your Conda installation with:
Visit https://www.anaconda.com/products/individual in your web browser.
Download the Anaconda Python 3 installer for macOS. These instructions assume that you use the graphical installer
.pkg
file.Follow the Anaconda Python 3 installation instructions. Make sure that the install location is set to “Install only for me” so Anaconda will install its files locally, relative to your home directory. Installing the software for all users tends to create problems in the long run and should be avoided.
Verify the installation: click the Launchpad icon in the Dock, type Terminal in the search field, then click Terminal. A window should pop up where you can now type commands such as checking your conda installation with:
Note that the following installation steps require you to work from the terminal (shell). If you run into any difficulties, please request help before the workshop begins.
Open https://www.anaconda.com/products/individual in your web browser.
Download the Anaconda Python 3 installer for Linux.
Install Anaconda using all of the defaults for installation.
- Open a terminal window.
- Navigate to the folder where you downloaded the installer.
- Type
bash Anaconda3-
and press Tab. The name of the file you just downloaded should appear. - Press Return
- Follow the text-only prompts. When the license agreement appears (a
colon will be present at the bottom of the screen) press
Spacebar until you see the bottom of the text. Type
yes
and press Return to approve the license. Press Return again to approve the default location for the files. Typeyes
and press Return to prepend Anaconda to yourPATH
(this makes the Anaconda distribution your user’s default Python).
- Verify the installation: this depends a bit on your Linux distribution, but often you will have an Applications listing in which you can select a Terminal icon you can click. A window should pop up where you can now type commands such as checking your conda installation with:
Required Python Packages
The following are packages needed for this workshop:
All packages apart from plotnine
will have automatically
been installed with Anaconda and we can use Anaconda as a package
manager to install the missing plotnine
package: You need
to open up a Terminal, if you are using Mac OSX, or Linux (see
instructions above), or launch an anaconda-prompt, if you are
using Windows. In your terminal window type the following:
This will then install the latest version of plotnine into your conda environment.
Required packages: Miniconda
Miniconda is a lightweight version of Anaconda. If you install Miniconda instead of Anaconda, you need to install required packages manually in the following way:
(Alternative) Installing required packages with environment file
Download the environment.yml file by right-clicking the link and selecting save as. In the directory where you downloaded the environment.yml file run:
Activate the new environment with:
You can deactivate the environment with:
Launch a Jupyter notebook
After installing either Anaconda or Miniconda and the workshop packages, launch a Jupyter notebook by typing this command into the terminal or anaconda-prompt:
The notebook should open automatically in your browser. If it does not or you wish to use a different browser, open this link: http://localhost:8888.
Leave terminal used to launch Jupyter open
Jupyter depends on a server running in the background associated with the window used to launch it. Closing that window will results in web interface errors in the web interface. When done, you can either close the terminal or shut down the server using CTRL+C and submitting y within 5 seconds if the terminal is needed for other tasks.
For a brief introduction to Jupyter Notebooks, please consult our Introduction to Jupyter Notebooks page.