Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] As colunas se repetem?

Olá,

Usei os mesmos comandos que o professor, só que quando usei dataset.show() percebi que as colunas que utilizei join se repetiram.

As imagens não estão carregando, mas basicamente as colunas com conteúdos de zone e unit estão aparecendo duas vezes.

No dataset mostrado em aula isso não ocorre. Preciso fazer algo além?

Código utilizado:

unit = dataset\
    .groupBy('customerID')\
    .pivot('unit')\
    .agg(f.lit(1))\
    .na\
    .fill(0)
    
zone = dataset\
    .groupBy('customerID')\
    .pivot('zone')\
    .agg(f.lit(1))\
    .na\
    .fill(0)
    
dataset = dataset\
    .join(unit, 'customerID', how='inner')\
    .join(zone, 'customerID', how='inner')

dataset.show()
1 resposta
solução!

Oii, Weslei! Tudo joia?

Esse resultado obtido, pode ocorrer se as colunas zone e unit estiverem presentes em mais de um dos DataFrames que você está unindo.

No código, temos dois novos DataFrames, 'unit' e 'zone', a partir do DataFrame original 'dataset'. Cada um desses novos DataFrames ainda contém a coluna 'customerID' do DataFrame original. Quando a operação join é realizada, as colunas 'zone' e 'unit' do DataFrame original 'dataset' estão sendo mantidas, assim como as colunas 'zone' e 'unit' dos DataFrames 'unit' e 'zone'. Isso resulta em colunas duplicadas.

Uma possível solução seria remover as colunas 'zone' e 'unit' do DataFrame original antes de realizar a operação join. Pode-se utilizar o método drop() para realizar essa ação. Abaixo deixo o link da documentação que será útil para os seus estudos sobre o tema:

Obs: A página pode abrir em Inglês, caso não se sinta confortável com o idioma, basta clicar com o botão direito do mouse e escolher a opção "Traduzir para o português".

Dessa forma, as colunas 'unit' e 'zone' do DataFrame original serão removidas antes da operação join para evitar a duplicação em seguida.

Espero que a solução te ajude. Continue se dedicando aos estudos e qualquer dúvida, compartilhe no fórum.

Bons estudos, Weslei!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software