Além do Pandas, NumPy, que é um acrônimo para Numerical Pyt...

Próximas questões
Com base no mesmo assunto
Q3331505 Programação
Além do Pandas, NumPy, que é um acrônimo para Numerical Python, é outra biblioteca fundamental para a computação em Python. Ela serve como um dos pilares do ecossistema de ciência de dados e análise numérica, oferecendo suporte para poderosas estruturas de dados de arrays e matrizes multidimensionais.
Seja o dataframe Pandas df carregado da tabela Financiamento e um extrato de seus dados mostrado abaixo.

Imagem associada para resolução da questão

E seja o seguinte código NumPy, que transforma df em matriz e manipula suas linhas e colunas. 
import numpy as np matriz = df.values subconjunto = matriz[matriz[:, 1] == 1, 4:6]

Das opções abaixo, a que apresenta corretamente o array extraído pela operação NumPy é: 
Alternativas

Comentários

Veja os comentários dos nossos alunos

Em resumo, a questão pede que o camarada resolva 2 matrizes, uma grande e uma menor .

A matriz maior tem como argumento de linha a matriz (ou máscara booleana se quiser ser mais técnico):

matriz[:, 1] == 1

E como colunas: 4:6

Resolvendo o primeiro argumento:

1ª ) matriz[:, 1] == 1 --> retorna a coluna 1 de todas as linhas que o projeto_id == 1

obs.: dois pontos sem números significa todas as linhas ou todas as colunas dependendo da posição

Com isso, selecionamos aqueles de financiamento_id de números 0, 1 e 2

2ª ) 4:6 --> selecionamos as colunas 4 e 5 daquele resultado que conseguimos acima (essa seleção exclui o último termo)

Resposta: letra A.

d-

[matriz[:, 1] == 1, 4:6]

1° col, filtro == 1

seleciona os valores da 4° a 5° col. range nao inclui o threshold final

Vou tentar explicar de uma maneira mais didática

Nós temos um dataframe que é a tabela que visualizamos na questão.

O examinador dá um trecho de código com a biblioteca NumPy e então o dataframe é transformado em um array multidimensional (ndarray) por meio do comando df.values e então ele faz um fatiamento desse array ( o subconjunto, como pede a questão)

A sintaxe básica de um fatiamento de um array numpy é: array[linha, coluna] ou ainda melhor array[inicio:fim:passo , inicio:fim:passo]

O subconjunto então faz: matriz[

matriz[:, 1] == 1, # linhas

4:6 # colunas

]

Primeiro é feita a seleção das linhas por meio da expressão matriz[:, 1] == 1. O : significa "todas as linhas", enquanto o 1 representa a segunda coluna (lembrando que a indexação começa em 0), que corresponde à coluna projeto_id. Em seguida, == 1 mantém apenas as linhas em que projeto_id é igual a 1.

Depois dessa filtragem, o código faz a seleção das colunas utilizando 4:6. Como esse trecho está após a vírgula, ele se refere às colunas. O intervalo 4:6 seleciona as colunas de índices 4 e 5 (o índice final não é incluído), que correspondem a data_termino e valor.

array([

['2023-05-31', 10000.0],

['2023-06-30', 4000.0],

['2023-11-30', 7000.0]

])

Gabarito Letra A

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo