In [1]:
import numpy as np
import matplotlib.pyplot as plt
In [2]:
faircoin = .5
biascoin = .6

nTrials = 10

results = np.zeros((2,nTrials))

for i in range(0,nTrials):
    results[0,i] = np.random.rand()>faircoin
    results[1,i] = np.random.rand()>biascoin
    
plt.plot(results[0,:]-.05,'s',markersize=10,label='fair coin')
plt.plot(results[1,:]+.05,'s',markersize=10,label='bias coin')
plt.yticks([0,1],['Tails','Heads'])
plt.xlabel('Flip #')
plt.ylim([-.5,1.5])
plt.show()
In [3]:
import pandas as pd
df = pd.DataFrame(results,dtype='int',index=['fair','biased'])
df['Ave.'] = df.mean(axis=1)
df
Out[3]:
0 1 2 3 4 5 6 7 8 9 Ave.
fair 1 1 0 1 0 1 1 0 0 0 0.5
biased 0 0 1 0 1 0 0 0 0 0 0.2