Olá pessoal, tudo bem?
As vezes eu tenho umas dúvidas simples e tenho receio de perguntar, mas vou fazer a pergunta mesmo assim. Existe diferença em escrever o código nos formatos abaixo? Ambos funcionam, mas eu gostaria de saber se há diferença entre eles pensando, talvez, em performance, por exemplo, se as colunas que gostaríamos de extrair do grupo for passada antes do método .mean()
primeiro o código irá extrair as colunas do grupo e depois aplicará o método, caso passemos as colunas que serão extraídas depois do método, como o professor fez nessa aula, ele irá calcular a média de todas as colunas e só depois irá extrair as que desejamos. Ou seja, irá calcular colunas desnecessariamente. Estou certo?
O professor escreveu o código dessa forma, extraindo as colunas desejadas após calcular todos os valores, até os que não serão necessários.
gorjetas.groupby(['hora_do_dia']).mean()[['valor_da_conta', 'gorjeta', 'porcentagem']]
Eu escrevi dessa forma, pois acredito que iremos criar o grupo baseado na hora do dia, depois iremos extrair as colunas desejadas e somente por último calculamos a média.
gorjetas.groupby(['hora_do_dia'])[['valor_da_conta', 'gorjeta', 'porcentagem']].mean()
Ambos funcionam, mas existe diferença entre eles? Podemos ver que métodos também funcionam no meio de expressões, mas pensando no quesito performance, por exemplo, os métodos funcionam melhor no final ou no meio de expressões?