1
resposta

[Sugestão] Questões na Aula "Agrupamento de Dados"

Olá time Alura,

Encontrei duas questões na Aula "Agrupamento de Dados" e gostaria de informar

  1. Diferenças entre Caderno e Vídeo
  • Caderno: emissoes_por_ano.groupby('Gás').sum()

  • Vídeo: emissoes_por_ano.groupby('Gás').sum(numeric_only = True) OU emissoes_por_ano.groupby('Gás')[['Emissão']].sum()

  • Caderno: emissao_por_gas = emissoes_por_ano.groupby('Gás').sum().sort_values('Emissão', ascending = False)

  • Vídeo: emissao_por_gas = emissoes_por_ano.groupby('Gás')[['Emissão']].sum().sort_values('Emissão', ascending = False)

  1. Código que devolve um warning
  • print(f'A emissão de CO2 corresponde a {float(emissao_por_gas.iloc[0:9].sum()/emissao_por_gas.sum())*100:.2f} % de emissão total de gases estufa no Brasil de 1970 a 2021.')
  • FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead print(f'A emissão de CO2 corresponde a {float(emissao_por_gas.iloc[0:9].sum()/emissao_por_gas.sum())*100:.2f} % de emissão total de gases estufa no Brasil de 1970 a 2021.')

Procurei uma recomendação com IA que me retornou recomendando usar o item()

  • print(f'A emissão de CO2 corresponde a {((emissao_por_gas.iloc[0:9].sum()/emissao_por_gas.sum()).item())*100:.2f} % de emissão total de gases estufa no Brasil de 1970 a 2021.')
1 resposta

Olá, tudo bem?

Verdade! Analisei o notebook disponibilizado e há essa divergência no código, encaminharei essa situação a equipe responsável. Por enquanto, recomendo que você edite e insira o código que o instrutor mostra em vídeo.

Quanto aos warnings, eles são apenas avisos, ele não impedirá o andamento no curso. Normalmente que eles estão relacionados a atualizações das bibliotecas. No seu caso, o aviso que você está recebendo é devido ao uso de float() em uma Series de um único elemento. A recomendação de usar .item() é uma solução eficaz para evitar esse aviso. Assim, a linha de código ajustada ficaria como você mencionou:

print(f'A emissão de CO2 corresponde a {((emissao_por_gas.iloc[0:9].sum()/emissao_por_gas.sum()).item())*100:.2f} % de emissão total de gases estufa no Brasil de 1970 a 2021.')

Usar .item() é uma maneira de extrair o valor escalar de uma Series com um único elemento, o que elimina o aviso de depreciação.

Espero ter ajudado e bons estudos!

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