Lesson 9
Common DataFrame methods¶
This lesson introduces the common DataFrame
methods that we will repeatedly use in the course.
This first cell load data for use in this lesson.
# Setup: Load prices
import pandas as pd
prices = pd.read_hdf("data/dataframes.h5", "prices")
sep_04 = pd.read_hdf("data/dataframes.h5", "sep_04")
goog = pd.read_hdf("data/dataframes.h5", "goog")
returns = prices.pct_change().dropna()
spy_returns = returns.SPY
aapl_returns = returns.AAPL
goog_returns = returns.GOOG
Problem: Constructing portfolio returns¶
Compute the return of a portfolio with weight $\frac{1}{3}$ in each security using multiplication (*
) and .sum()
.
Note: You need to use the axis
keyword for the sum.
Problem: Compute the Mean and Standard Deviation¶
Using the function mean, compute the mean of the three returns series one at a time. For example
goog_mean = goog_returns.mean()
Next, compute the mean of the matrix of returns using
retmean = returns.mean()
What is the relationship between these two? Repeat this exercise for the standard deviation (std()
).
Problem: Compute Correlation¶
Compute the correlation of the matrix of returns (corr()
).
Problem: Summing all elements¶
Compute the sum of the columns of returns using .sum()
. How is this related to the mean computed in the previous step?
Problem: Maximum and Minimum Values¶
Compute the minimum and maximum values of the columns of returns using the min()
and max()
commands.
Problem: Rounding Up, Down and to the Closest Integer¶
Rounding up is handled by ceil, rounding down is handled by floor and rounding to the closest integer is handled by round. Try all of these commands on 100 times returns. For example,
rounded = (100*returns).round()
Use ceil
and floor
to round up and down, respectively.
# Setup: Load data
import pandas as pd
momentum = pd.read_csv("data/momentum.csv", index_col="date", parse_dates=True)
mom_10 = momentum.mom_10
Exercise: Sorting¶
Use sort_values
to sort momentum by the column mom_10
. Verify that the sort was successful by looking at the minimum of a diff.
Exercise: Sort Descending¶
Use sort_values
to sort momentum by by the column mom_10
using a descending sort (see the help for sort_values
). Verify the sort worked by looking at the maximum of a diff.
Exercise: Get Number of Elements¶
Use the shape
property to get the number of observations in momentum. Use it again to get the number of columns.
Exercise: Use shift
to Compute Returns¶
Compute the percentage change using only shift
, division (/
) and subtraction (-
) on the Series
mom_10
. Verify that your result matches what pct_change
produces.