Por que as informações não repetem no concat a cada interação do FOR ? Existe algum parâmetro dentro da função concat que ignora informações iguais ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Por que as informações não repetem no concat a cada interação do FOR ? Existe algum parâmetro dentro da função concat que ignora informações iguais ?
Olá, Guilherme! Tudo bem com você?
Peço desculpa pela demora em responder o seu tópico.
A função concat do Pandas não ignora informações iguais. O que acontece é que, a cada iteração do FOR, o concat está adicionando ao DataFrame df a contagem de valores (value_counts()) de cada moeda (item).
O value_counts() retorna uma série contendo contagens de valores únicos, neste caso 'C' e 'c'. Portanto, a cada iteração, ele não está repetindo informações, mas sim adicionando novas contagens de 'C' e 'c' para a próxima moeda.
Vamos a um exemplo prático para ilustrar isso. Suponha que temos dois conjuntos de moedas:
m1 = 'CCcCCccCCCccCcCccCcCcCCCcCCcccCCcCcCcCcccCCcCcccCc'
m2 = 'CCCCCccCccCcCCCCccCccccCccCccCCcCccCcCcCCcCccCccCc'
E criamos um DataFrame para cada um:
df1 = pd.DataFrame({'m1': list(m1)})
df2 = pd.DataFrame({'m2': list(m2)})
Agora, se usarmos o value_counts() em cada DataFrame, obteremos a contagem de 'C' e 'c' para cada moeda:
df1_counts = df1['m1'].value_counts()
df2_counts = df2['m2'].value_counts()
Se agora usarmos o concat para juntar essas contagens em um único DataFrame, teremos:
df = pd.concat([df1_counts, df2_counts], axis=1)
Nesse DataFrame final, não temos repetição de informações, mas sim a contagem de 'C' e 'c' para cada moeda, adicionada a cada iteração do FOR.
Espero ter esclarecido a sua dúvida. Caso tenha mais alguma pergunta, estarei à disposição para ajudar.
Grande abraço e bons estudos!