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.17797851562499994
The probability of 1 hearts is 0.35595703125
The probability of 2 hearts is 0.296630859375
The probability of 3 hearts is 0.13183593749999992
The probability of 4 hearts is 0.03295898437499997
The probability of 5 hearts is 0.004394531250000001
The probability of 6 hearts is 0.000244140625

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.

In [3]:
%load_ext version_information
In [4]:
version_information scipy, matplotlib
Out[4]:
SoftwareVersion
Python3.11.5 64bit [MSC v.1916 64 bit (AMD64)]
IPython8.15.0
OSWindows 10 10.0.26100 SP0
scipy1.11.1
matplotlib3.7.2
Sat Feb 08 14:44:35 2025 Eastern Standard Time
In [ ]: