Drawing cards

NOTE: In this notebook I use the stats sub-module of scipy for all statistics functions, including generation of random numbers. There are other modules with some overlapping functionality, e.g., the regular python random module, and the scipy.random module, but I do not use them here. The stats sub-module includes tools for a large number of distributions, it includes a large and growing set of statistical functions, and there is a unified class structure. (And namespace issues are minimized.) See https://docs.scipy.org/doc/scipy/reference/stats.html.

In [1]:
import numpy as np
from scipy import stats

Intro

For each of the draws, the probability of getting a heart is $\frac{1}{4}$. The probability of getting $k$ successes in $n$ independent trials, where the $p$ is the probability of success in an indvidual trial is given by the binomial distribution stats.binom.pmf(k,n,p):

In [2]:
for k in range(7):
    n = 6
    p = 0.25
    print("The probability of",k,"hearts is", stats.binom.pmf(k,n,p))
The probability of 0 hearts is 0.17797851562500003
The probability of 1 hearts is 0.3559570312500002
The probability of 2 hearts is 0.29663085937500006
The probability of 3 hearts is 0.13183593750000008
The probability of 4 hearts is 0.032958984375
The probability of 5 hearts is 0.004394531250000003
The probability of 6 hearts is 0.00024414062500000016

Version information

version_information is from J.R. Johansson (jrjohansson at gmail.com); see Introduction to scientific computing with Python for more information and instructions for package installation.

version_information is installed on the linux network at Bucknell

In [3]:
%load_ext version_information
In [4]:
version_information scipy, matplotlib
Out[4]:
SoftwareVersion
Python3.7.7 64bit [GCC 7.3.0]
IPython7.16.1
OSLinux 3.10.0 1062.9.1.el7.x86_64 x86_64 with centos 7.7.1908 Core
scipy1.5.2
matplotlib3.3.0
Fri Aug 07 11:04:02 2020 EDT
In [ ]: