Introduction to Statistics in Python
Maggie Matsui
Content Developer, DataCamp
die = pd.Series([1, 2, 3, 4, 5, 6])# Roll 5 times samp_5 = die.sample(5, replace=True) print(samp_5)
array([3, 1, 4, 1, 1])
np.mean(samp_5)
2.0

# Roll 5 times and take mean
samp_5 = die.sample(5, replace=True)
np.mean(samp_5)
4.4
samp_5 = die.sample(5, replace=True)
np.mean(samp_5)
3.8
Repeat 10 times:
sample_means = []for i in range(10):samp_5 = die.sample(5, replace=True) sample_means.append(np.mean(samp_5))print(sample_means)
[3.8, 4.0, 3.8, 3.6, 3.2, 4.8, 2.6,
3.0, 2.6, 2.0]
Sampling distribution of the sample mean

sample_means = []
for i in range(100):
    sample_means.append(np.mean(die.sample(5, replace=True)))

sample_means = []
for i in range(1000):
    sample_means.append(np.mean(die.sample(5, replace=True)))

The sampling distribution of a statistic becomes closer to the normal distribution as the number of trials increases.

* Samples should be random and independent
sample_sds = []
for i in range(1000):
  sample_sds.append(np.std(die.sample(5, replace=True)))

sales_team = pd.Series(["Amir", "Brian", "Claire", "Damian"])sales_team.sample(10, replace=True)
array(['Claire', 'Damian', 'Brian', 'Damian', 'Damian', 'Amir', 'Amir', 'Amir', 
      'Amir', 'Damian'], dtype=object)
sales_team.sample(10, replace=True)
array(['Brian', 'Amir', 'Brian', 'Claire', 'Brian', 'Damian', 'Claire', 'Brian', 
      'Claire', 'Claire'], dtype=object)

# Estimate expected value of die
np.mean(sample_means)
3.48
# Estimate proportion of "Claire"s
np.mean(sample_props)
0.26
 
 
Introduction to Statistics in Python