1
resposta

Estou em duvida em relação a combinação do FOR com o Cancat

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 ?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.