Birthday probabilities


In [26]:
import numpy as np
import collections
import pandas as pd
xd=pd.DataFrame(columns=['k','Approximante'])
for k in [15,23,30,40,50,60]:
    b=0
    t=30000
    for i in range(t):
        x=np.random.randint(1,366,k)
        c=collections.Counter(x)
        r=sorted(c.values())[::-1][0]
        if r>1:
            b=b+1


    
    xd=xd.append({'k':k,'Approximante':round(float(b)/t,3)},ignore_index=True)
xd


Out[26]:
k Approximante
0 15 0.248
1 23 0.506
2 30 0.708
3 40 0.892
4 50 0.971
5 60 0.993

In [27]:
x=np.random.randint(1,366,50)
c=collections.Counter(x)
sorted(c.values())[::-1][0]


Out[27]:
1

In [ ]: