Olá, boa noite fiquei com dúvida nessa questão. Poderia me explicar a lógica dessa resposta?
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 2
No 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!