# Python Data Analysis with NumPy and pandas

This is a rapid introduction to NumPy, pandas, and matplotlib for experienced Python programmers who are new to those libraries.

Goals
1. Learn to work with Jupyter Notebook.
2. Learn to use NumPy to work with arrays and matrices of numbers.
3. Learn to work with pandas to analyze data.
4. Learn to work with matplotlib from within pandas.
Outline
1. Jupyter Notebook
1. Getting Started with Jupyter Notebook
2. Creating Your First Jupyter notebook
3. More Experimenting with Jupyter Notebook
4. Getting the Class Files
5. Markdown
6. Magic Commands
1. Automagic
2. Autosave
3. Directory Commands
4. Bookmarking
5. Command History
6. Last Three Inputs and Outputs
7. Environment Variables
9. Shell Execution
10. More Magic Commands
7. Getting Help
2. NumPy
1. Efficiency
2. NumPy Arrays
1. Getting Basic Information about an Array
2. np.arange()
3. Similar to Lists
4. Different from Lists
5. Universal Functions
3. Multiplying Array Elements
4. Multi-dimensional Arrays
5. Retrieving Data from an Array
1. Modifying Parts of an Array
2. Adding a Row Vector to All Rows
3. More Ways to Create Arrays
4. Getting the Number of Rows and Columns in an Array
6. Random Sampling
7. Rolling Doubles
8. Using Boolean Arrays to Get New Arrays
9. More with NumPy Arrays
3. pandas
1. Series
1. Other Ways of Creating Series
2. np.nan
3. Accessing Elements from a Series
2. Retrieving Data from a Series
1. Series Alignment
3. Using Boolean Series to Get New Series
1. Comparing One Series with Another
2. Element-wise Operations and the apply() Method
3. Series: A More Practical Example
4. DataFrame
1. Creating a DataFrame from a NumPy Array
2. Creating a DataFrame using Existing Series as Rows
3. Creating a DataFrame using Existing Series as Columns
4. Creating a DataFrame from a CSV
5. Exploring a DataFrame
6. Getting Columns
5. Exploring a DataFrame
1. Cleaning Data
2. Getting Rows
3. Combining Row and Column Selection
4. Scalar Data: at[] and iat[]
5. Boolean Selection
6. Using a Boolean Series to Filter a DataFrame
6. Series and DataFrames
7. Plotting with matplotlib
1. Inline Plots in Jupyter Notebook
2. Line Plot
3. Bar Plot
4. Annotation
8. Plotting a DataFrame
9. Other Kinds of Plots
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this Python class:

• Basic Python programming experience. In particular, you should be very comfortable with:
1. Working with strings.
2. Working with lists, tuples and dictionaries.
3. Loops and conditionals.