1
resposta

Sintaxe invalida

Estou tentando montar uma consulta usando o groupby em uma "expression". Primeiro eu agrupo uma coluna pela matricula e depois eu somo se o codigo do pagamento for igual a uma lista de valores.

agrupados = [Janeiro.groupby('MATRICULA').sum('VALOR') if Janeiro['CODIGO'].isin([200,300,400,500,600,700])]
agrupados

Entretanto, retorna o erro SyntaxError: invalid syntax junto ao ultimo colchete e eu não sei por que. Grato.

1 resposta

Olá Rogério, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Para resolver esse problema, devemos primeiro criar um filtro para selecionar as linhas com os códigos desejados e, em seguida, aplicar o groupby e a soma apenas nas linhas onde o filtro é verdadeiro. Exemplo:

import pandas as pd

data = {
    'MATRICULA': [101, 102, 103, 101, 102, 103, 101, 102, 103],
    'CODIGO': [200, 300, 400, 500, 600, 700, 200, 300, 400],
    'VALOR': [50, 30, 40, 60, 70, 80, 55, 35, 45]
}

Janeiro = pd.DataFrame(data)

filtro = Janeiro['CODIGO'].isin([200, 300, 400, 500, 600, 700])
agrupados = Janeiro[filtro].groupby('MATRICULA')['VALOR'].sum()

print(agrupados)

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

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