1
resposta

Apenas o resultado de m5 aparecendo

Bom dia/tarde/noite. Tudo bem? Estou enfrentando um problema curioso e não consigo encontrar o motivo:

Para facilitar os meus estudos e poder fazer comentários no passo a passo do exercício, eu separei o script em células do jupiter:

1 - a definição das variáveis de m1 a m5 com suas respectivas listas.

m1 = 'CCcCCccCCCccCcCccCcCcCCCcCCcccCCcCcCcCcccCCcCcccCc' m2 = 'CCCCCccCccCcCCCCccCccccCccCccCCcCccCcCcCCcCccCccCc' m3 = 'CccCCccCcCCCCCCCCCCcccCccCCCCCCccCCCcccCCCcCCcccCC' m4 = 'cCCccCCccCCccCCccccCcCcCcCcCcCcCCCCccccCCCcCCcCCCC' m5 = 'CCCcCcCcCcCCCcCCcCcCCccCcCCcccCccCCcCcCcCcCcccccCc'

2 - criei o dict eventos

eventos = {'m1': list(m1), 'm2': list(m2), 'm3': list(m3), 'm4': list(m4), 'm5': list(m5)}

3 - criei o data frame moedas passando eventos como parâmetro

moedas = pd.DataFrame(eventos) moedas

4 - criei o data frame df

df1 = pd.DataFrame(data = ['Cara', 'Coroa'], index = ['c', 'C'], columns = ['Faces'])

df1

5 - fiz o loop com o for item in moedas.

for item in moedas: df = pd.concat([df1, moedas[item].value_counts()], axis = 1)

df

Todos os códigos foram copiados ctrl c/ctrl v da pag do exercício, só alterei o nome do dataframe df para df1, no intuito de diferenciá-lo do resultado final. Mas, quando eu executo todas as células, o resultado é um dataframe exatamente igual o da resolução mas constando apenas m5 e não todas as moedas como seria o esperado.

Detalhe, quando eu copio o código de uma vez em uma única célula, da certo.

Teria o meu computador atingido autoconsciência e está tentando me causar um infarto por estresse, ou estou deixando passar algo?

obrigado e abraço.

1 resposta

Giuliano, o seu for está assim:

for item in moedas:
    df = pd.concat([df1, moedas[item].value_counts()], axis = 1)
df

Ao invés de df, tente df1, assim:

for item in moedas:
    df1 = pd.concat([df1, moedas[item].value_counts()], axis = 1)
df1

Acredito que somente com essa alteração já resolva o seu problema. Espero ter ajudado.