produtos = ['Café au lait', 'Espresso', 'Cappuccino']
vendas.query('produto in @produtos and metodo_pagamento == "PIX" ')
Na linha de código acima qual seria a função específica do @ e qual a ação do @produtos ?
produtos = ['Café au lait', 'Espresso', 'Cappuccino']
vendas.query('produto in @produtos and metodo_pagamento == "PIX" ')
Na linha de código acima qual seria a função específica do @ e qual a ação do @produtos ?
Oii, Cauã! Tudo bem?
Para entender o papel do @, precisamos lembrar que o texto dentro da função query() é lido como uma "string de consulta" isolada.
A função específica do @:
O símbolo @ serve para indicar ao Pandas que você quer acessar uma variável externa, ou seja, uma variável que foi definida fora da string de consulta, no seu ambiente Python. Sem o uso do @, o Pandas tentaria procurar uma coluna chamada "produtos" dentro do seu arquivo CSV, o que causaria um erro, já que essa coluna não existe no DataFrame.
A ação do @produtos:
Nesse caso específico, o @produtos realiza as seguintes ações:
['Café au lait', 'Espresso', 'Cappuccino'] para dentro da consulta.in, ele orienta o Pandas a verificar, linha por linha, se o item escrito na coluna "produto" consta dentro dessa lista externa.produtos em qualquer lugar do seu código e a consulta se atualize automaticamente, sem que você precise reescrever a string do query().Pra ficar mais claro, veja como o Pandas interpreta o que você escreveu:
É uma ferramenta muito útil para tornar suas análises mais dinâmicas e limpas.