from datascience import *
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plots
plots.style.use('fivethirtyeight')
die = Table().with_column('Face', np.arange(1, 7))
die
die.sample(10)
roll_bins = np.arange(0.5, 6.6, 1)
die.hist(bins = roll_bins)
print(1/6)
die.sample(10).hist(bins = roll_bins)
die.sample(10).hist(bins = roll_bins)
die.sample(10).hist(bins = roll_bins)
die.sample(100).hist(bins = roll_bins)
die.sample(100).hist(bins = roll_bins)
die.sample(1000).hist(bins = roll_bins)
die.sample(1000).hist(bins = roll_bins)
united = Table.read_table('united_summer2015.csv')
united = united.with_column('Row', np.arange(united.num_rows)).move_to_start('Row')
united
united.hist('Delay', bins = np.arange(-20, 201, 10))
united.sample(10).hist('Delay', bins = np.arange(-20, 201, 10))
united.sample(10).hist('Delay', bins = np.arange(-20, 201, 10))
united.sample(100).hist('Delay', bins = np.arange(-20, 201, 10))
united.sample(100).hist('Delay', bins = np.arange(-20, 201, 10))
np.median(united.column('Delay'))
united.where('Delay', are.below_or_equal_to(2)).num_rows / united.num_rows
np.median(united.sample(10).column('Delay'))
medians = make_array()
for i in np.arange(10000):
new_median = np.median(united.sample(1000).column('Delay'))
medians = np.append(medians, new_median)
Table().with_column('Sample Median', medians).hist(bins = np.arange(-0.5, 5.6, 1))
eligible_population = make_array(0.26, 0.74)
eligible_population
sample_proportions(100, eligible_population)
# statistic: number of black men among random sample
# of 100 men from eligible population
100 * sample_proportions(100, eligible_population).item(0)
# Simulation
counts = make_array()
for i in np.arange(10000):
new_count = 100 * sample_proportions(100, eligible_population).item(0)
counts = np.append(counts, new_count)
counts
# Visualization
Table().with_column('Random Sample Count', counts).hist(bins = np.arange(9.5, 45, 1))
observed_count = 8
plots.scatter(observed_count, 0, color='red', s=50);
model = make_array(0.75, 0.25)
model
sample_proportions(929, model)
# statistic: distance between sample percent (of purple plants) and 75
abs(100 * sample_proportions(929, model).item(0) - 75)
# Simulation
distances = make_array()
for i in np.arange(10000):
new_distance = abs(100 * sample_proportions(929, model).item(0) - 75)
distances = np.append(distances, new_distance)
Table().with_column('Distance from 75%', distances).hist()
observed_distance = abs(100*(705/929) - 75)
observed_distance
Table().with_column('Distance from 75%', distances).hist()
plots.scatter(observed_distance, 0, color='red', s=30);