Magna Concursos
4269631 Ano: 2026
Disciplina: TI - Ciência de Dados e BI
Banca: FGV
Orgão: TCE-PE

O Tribunal de Contas recebeu registros de pagamentos para análise. De acordo com as regras de qualidade da base:

• cada id_pagamento deve aparecer apenas uma vez;
• o campo valor deve estar preenchido e conter número maior que zero;
• após o tratamento dos dados, os registros válidos devem ser agrupados segundo a proximidade entre seus valores.

Para realizar o procedimento, foi elaborado o seguinte código em Python, que implementa uma forma simplificada de agrupamento por centroides:   

dados = [
    {"id_pagamento": 101, "valor": 100},
    {"id_pagamento": 102, "valor": None},
    {"id_pagamento": 101, "valor": 100},
    {"id_pagamento": 103, "valor": 120},
    {"id_pagamento": 104, "valor": 900},
    {"id_pagamento": 105, "valor": 1000},
    {"id_pagamento": 106, "valor": 110},
]

identificadores = set()
validos = []
problemas = []

for registro in dados:
    identificador = registro["id_pagamento"]
    valor = registro["valor"]

    if identificador in identificadores:
        problemas.append((identificador,
"duplicidade"))
    elif valor is None or valor <= 0:
        problemas.append((identificador, "valor
inválido"))
    else:
        identificadores.add(identificador)
        validos.append(registro)

centroides = [100.0, 1000.0]

for _ in range(2):
    grupos = {0: [], 1: []}

    for registro in validos:
        valor = registro["valor"]

        distancias = [
            abs(valor - centroide)
            for centroide in centroides
        ]

        grupo = distancias.index(min(distancias))
        grupos[grupo].append(registro)

    centroides = [
        sum(
            registro["valor"]
            for registro in grupos[indice]
        )
        / len(grupos[indice])
        for indice in range(2)
    ]

grupo_maior_valor =
centroides.index(max(centroides))

selecionados = [
    registro["id_pagamento"]
    for registro in grupos[grupo_maior_valor]
]

A respeito da execução do código e das etapas de qualidade e mineração de dados, assinale a afirmativa correta.

 

Provas

Questão presente nas seguintes provas