Fiz de maneira mais simples e gostaria de ter certeza que está certo, o out foi o mesmo da alternativa.
eventos = {'m1': list(m1),'m2': list(m2),'m3': list(m3),'m4':list(m4),'m5':list(m5)}
moedas = pd.DataFrame(eventos)
df = pd.DataFrame(data=['Cara','Coroa'],index = ['c','C'],columns= ['Faces'])
for lista in moedas:
df[lista]= moedas[lista].value_counts()