Olá, Thayna. Tudo bem?
O que está acontecendo é o seguinte:
Na hora de concatenar os DataFrames df e moedas, você está salvando esse resultado em um novo DataFrame. Como estamos em um loop, o DF novo não atualiza quando a iteração ocorre, como você pode ver no resultado do código a seguir:
for item in moedas:
novo = pd.concat([df, moedas[item].value_counts()],
axis = 1)
print(novo, '\n')Saída:
| Faces | m1 | |
|---|---|---|
| c | Cara | 25 |
| C | Coroa | 25 |
| Faces | m2 | |
| c | Cara | 26 |
| C | Coroa | 24 |
| Faces | m3 | |
| c | Cara | 19 |
| C | Coroa | 31 |
| Faces | m4 | |
| c | Cara | 23 |
| C | Coroa | 27 |
| Faces | m5 | |
| c | Cara | 25 |
| C | Coroa | 25 |
Agora, como estamos concatendo o df com o moedas e inserindo esse resultado no próprio df, ele é atualizado a cada iteração do for, como você pode ver a seguir:
for item in moedas:
df = pd.concat([df, moedas[item].value_counts()],
axis = 1)
print(df, '\n')Saída:
| Faces | m1 | |||||
|---|---|---|---|---|---|---|
| c | Cara | 25 | ||||
| C | Coroa | 25 | ||||
| Faces | m1 | m2 | ||||
| c | Cara | 25 | 26 | |||
| C | Coroa | 25 | 24 | |||
| Faces | m1 | m2 | m3 | |||
| c | Cara | 25 | 26 | 19 | ||
| C | Coroa | 25 | 24 | 31 | ||
| Faces | m1 | m2 | m3 | m4 | ||
| c | Cara | 25 | 26 | 19 | 23 | |
| C | Coroa | 25 | 24 | 31 | 27 | |
| Faces | m1 | m2 | m3 | m4 | m5 | |
| c | Cara | 25 | 26 | 19 | 23 | 25 |
| C | Coroa | 25 | 24 | 31 | 27 | 25 |
Espero ter ajudado, Thayna. Se tiver mais alguma dúvida, estou à disposição. Bons estudos =)