Skip to main content
It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.

Python: Home

Guides provides library and online resources for Python programming language.

Python is a free and open source, interpreted, general purpose programming language. With an approachable syntax, Python is an easy language to learn for both beginners as well as experienced programmers. The language is also popular within the scientific community, with libraries written specifically to assist in the task of data analysis of large and complex scientific datasets.

Python 2 sunset notice: Listed resources focus on Python 3. Python 2 will sunset in 2020, meaning Python 2 will no longer be updated, including security updates. It is STRONGLY advised you install Python 3.

Installation notice: NOAA staff must contact their IT department regarding installation of Python. NOAA Central Library is not responsible for the installation of Python on your workstation or laptop machine.

For assistance email jeff.rey@noaa.gov or library.reference@noaa.gov

General Resources

PEP 8 Style Guide for Python CodePython’s official style guide.

Official Python documentation: Entry point for official Python documentation. It is possible to filter according to specific Python version (e.g. 3.73). 

PyVideo.org: An index of Python related videos. Search by topic.

PyAOSWebsite focused on providing Python resources for atmospheric and oceanic scientists (AOS), both those new to and experienced in the language. 

Pangeo: A community promoting open, reproducible, and scalable science. 

Online Tutorials and Videos

Automate the Boring Stuff with Python: Python programming guide for beginners.

Corey Schafer’s YouTube channelUseful resource for beginners, with short length videos covering many aspects of Python. Schafer also has recorded longer, multi part videos for Python libraries and/or apps like Matplotlib and Flask.

MetPy Mondays!: Unidata's Program Center weekly series on using Python in the atmospheric and related sciences.

Unidata's Python Training: One-stop site for for learning how to use Python for earth science education education and research for any experience level.

Python for Atmosphere and Ocean Scientists Data Carpentry lesson: Lesson covers data analysis of climate models, including plotting of data.

NOAA Library Network Python resources

Wiley Online EBook Collection: Collection contains Python related EBooks, and other programming, related content. Library patrons stationed in Silver Spring and other network libraries are able to use the collection. 

NOTE: For NOAA staff (federal employees and contractors) that are having access issues, please complete Report an Access Issue Google Form. 

NOAA Library Catalog (NOAALINC): Python books can be found through our library catalog. As books on Python on regularly checked out, materials can also be requested through NOAA Central Library's Inter Library Loan service @ interlibrary.loan@noaa.gov. 

Commerce Learning Center Python resources

NOAA employees and approved contractors have access to Python resources through the Commerce Learning Center (CLC). Some examples include, "Python Applications", "Python Concurrent Programming: Multiprocessing in Programming", and "Python Concurrent Programming: Asynchronous Executions in Python". 

Federal employees are automatically enrolled in CLC; however, contractors are not routinely provided access to the CLC unless required per policy guidelines. More information can be found here

Installing Python

There are several options for options for downloading and installing Python. Some of the most popular ones are listed below:

Anaconda Distribution: The Anaconda distribution of Python is recommended for data science and scientific computing. Package management is streamlined through Anaconda’s package management system conda.  Anaconda not only includes Python, but Spyder (an integrated development environment, or IDE, for Python), Jupyter Notebook capability, pre-installed Python packages, and more. More detailed installation instructions can be found on Anaconda's site.

Python Software Foundation: Download Python directly from Python Software Foundation's site. 

Python Libraries

Python has a wide-array of libraries that can be installed. You can find Python packages on PyPI, the Python Package Index, and/or on Anaconda Cloud. Listed below are a sample of libraries that are often used in scientific programming (there are a plenty of other libraries not listed!), including links to examples and guides.

NumPy

pandas

  • pandas is a library used for data analysis/manipulation of 'tabular' data for Python, providing labeled data structures.
  • 10 minutes to pandas.
  • Cookbok.

cartopy

  • cartopy is a Python library designed for geospatial data processing in order to process maps and other geospatial data analysis.
  • Examples.
  • Tutorial.

maplotlib

  • matplotlib is a foundational plotting library for Python.
  • Examples. 

seaborn

  • seaborn is a stasitical data visualization library based on matplotlib.
  • Examples.

xarray

  • xarray (formally xray) is library that makes working with labeled multi-dimensional or (N-dimensional) arrays more efficient. 
  • Examples.

netCDF4

Siphon