Olá, boa noite fiquei com dúvida nessa questão. Poderia me explicar a lógica dessa resposta?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, boa noite fiquei com dúvida nessa questão. Poderia me explicar a lógica dessa resposta?
Olá STEFFANE, tudo belezinha?
A expressão usada é uma técnica de slicing(Fatiamento) e para fazer "cortar" nossa matriz. Vamos levar em consideração o exemplo temos a matriz abaixo:
import numpy as np
dados = np.array(
[# Coluna 0 coluna 1 coluna 2
['Roberto', 'casado', 'masculino'], # linha 0
['Sheila', 'solteiro', 'feminino'], # linha 1
['Bruno', 'solteiro', 'masculino'], # linha 2
['Rita', 'casado', 'feminino'] # linha 3
]
)Repare em nossa matriz, e perceba que a linha 0 e a linha 2 temos as duas pessoas do sexo masculino, que é justamente nossa resposta para pergunta.
Então quando vamos fatiar uma matriz podemos definir o ** inicio, o final e o Frequencia**, ou seja, dados[Linha_Incial: Linha_Final:Frequencia], se por exemplo temos o código abaixo:
dados[0::2]Saida"
# Coluna 0 coluna 1 coluna 2
[['Roberto' 'casado' 'masculino'] # linha 0
['Bruno' 'solteiro' 'masculino']] # linha 2No exemplo acima fatiamos desde a linha 0 ate a ultima pulando sempre a cada duas linhas.
Mas se queremos somente o nome e estado civil, precisamos fatiar a coluna também, exibindo somente a coluna 0 e a coluna 1 e podemos fazer isso seguindo a mesma logica dados[Linha_Incial: Linha_Final :Frequencia , coluna_Incial: coluna_Final :Frequencia ], por isso no final chegamos neste código:
dados[0::2, :2] #repare que na coluna não colocamos frequência, pois só precisamos fatiando da coluna 0 ate a coluna 1.Saída:
#Coluna 0 coluna 1
['Roberto', 'casado'], # linha 0
['Bruno', 'solteiro'], # linha 2
Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e um forte abraço!