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

[Dúvida] Criação da Tabela

qual o motivo de fazer, vendedores = pd.DataFrame(dados.groupby('Vendedor')['Preço'].agg(['sum', 'count'])), usando o pd.Dataframe? e se fizer assim: vendedores = dados.groupby('Vendedor')['Preço'].agg(['sum', 'count']), está errado?

Qual o motivo de dar erro ao fazer assim: vendedores = pd.Datadados.groupby('Vendedor')[['Preço']].agg(['sum', 'count'])?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Ei, William! Tudo bem?

Vamos por partes esclarecer suas dúvidas para ficar mais tranquilo.

Uso do pd.DataFrame:

O pd.DataFrame é usado para criar explicitamente um DataFrame a partir do resultado de um agrupamento e agregação. Por exemplo:

vendedores = pd.DataFrame(dados.groupby('Vendedor')['Preço'].agg(['sum', 'count']))

Isso garante que o resultado seja um DataFrame, facilitando manipulações futuras. Sem o pd.DataFrame, o groupby com agg já retorna um DataFrame, tornando seu uso opcional, mas recomendável por clareza e boas práticas.

Erro com pd.DataFrame:

O erro com pd.Datadados.groupby ocorre por sintaxe incorreta. O correto é pd.DataFrame. Exemplo:

vendedores = pd.DataFrame(dados.groupby('Vendedor')[['Preço']].agg(['sum', 'count']))

Diferença entre ['Preço'] e [['Preço']]

  • ['Preço']: seleciona a coluna 'Preço' como uma Series.
  • [['Preço']]: seleciona a coluna 'Preço' como um DataFrame com uma única coluna.

Problema com .agg(['sum', 'count'])

Ao usar dados.groupby('Vendedor')[['Preço']].agg(['sum', 'count']), o Pandas aplica as funções sum e count à coluna 'Preço'. Como [['Preço']] retorna um DataFrame, o .agg() espera um mapeamento claro de colunas para funções. Passar ['sum', 'count'] pode gerar ambiguidade ou erro se a sintaxe não for precisa, pois o Pandas tenta aplicar ambas as funções a todas as colunas selecionadas.

Espero ter ajudado e qualquer dúvida, compartilhe no fórum.

Até mais, William!

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