%pylab inline import numpy as np import matplotlib.pyplot as plt import scipy.stats t_dist = scipy.stats.t norm_dist = scipy.stats.norm x_values = np.linspace(-4, 4, 100) t_prob_3 = t_dist.pdf(x_values, 3) t_prob_10 = t_dist.pdf(x_values, 10) t_prob_40 = t_dist.pdf(x_values, 40) z_prob = norm_dist.pdf(x_values) plt.figure(figsize=(10, 8)) plt.plot(x_values, t_prob_3, 'r:', label='t df=3') plt.plot(x_values, t_prob_10, 'g:', label='t df=10') plt.plot(x_values, t_prob_40, 'b:', label='t df=40') plt.plot(x_values, z_prob, 'k', label='z') plt.xlabel('$z$ or $t$ value') plt.ylabel('probability') plt.legend() t_cdf_10 = t_dist.cdf(x_values, 10) plt.figure(figsize=(10, 8)) plt.plot(x_values, t_cdf_10, 'b', label='t cdf df=10') plt.plot(x_values, t_prob_10, 'k', label='t pdf df=10') plt.xlabel('$z$ or $t$ value') plt.ylabel('probability') plt.legend() p = t_dist.cdf(2, 10) p t_dist.ppf(p, 10) t_for_05 = t_dist.ppf(0.95, 10) t_for_05 p_sf = t_dist.sf(2, 10) p_sf 1 - t_dist.cdf(2, 10) t_dist.isf(p_sf, 10) norm_dist.cdf(0.9) norm_dist.ppf(0.95)