Antes de olhar as possíveis resoluções no exercício, eu tentei fazer da minha forma. Fiz de uma forma bem simplificada e gostaria de saber se da forma que foi feito na resolução do exercício traz alguma vantagem quando vamos aumentando a complexidade do código e não nesse caso em específico.
Fiz dessa forma:
m1 = 'CCcCCccCCCccCcCccCcCcCCCcCCcccCCcCcCcCcccCCcCcccCc'
m2 = 'CCCCCccCccCcCCCCccCccccCccCccCCcCccCcCcCCcCccCccCc'
m3 = 'CccCCccCcCCCCCCCCCCcccCccCCCCCCccCCCcccCCCcCCcccCC'
m4 = 'cCCccCCccCCccCCccccCcCcCcCcCcCcCCCCccccCCCcCCcCCCC'
m5 = 'CCCcCcCcCcCCCcCCcCcCCccCcCCcccCccCCcCcCcCcCcccccCc'
moedas = pd.DataFrame([{'Faces': 'Coroa','m1': m1.count('C'), 'm2': m2.count('C'), 'm3': m3.count('C'), 'm4': m4.count('C'), 'm5' : m5.count('C')},
{'Faces':'Cara','m1': m1.count('c'), 'm2': m2.count('c'), 'm3': m3.count('c'), 'm4': m4.count('c'), 'm5' : m5.count('c')}],
index = ['C','c'])
Com esse resultado:
A resolução do exercício traz o seguinte código:
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 item in moedas:
df = pd.concat([df, moedas[item].value_counts()],
axis = 1)
df