Eu compreendi o que me foi pedido, e consigo compreender o código. Vi que outra pessoa teve a mesma dúvida, mas isso ainda não entra na minha cabeça... vamos lá
dados = np.array(
[
['Roberto', 'casado', 'masculino'],
['Sheila', 'solteiro', 'feminino'],
['Bruno', 'solteiro', 'masculino'],
['Rita', 'casado', 'feminino']
]
)
A resposta é: dados[0::2, :2]
Eu consigo entender a primeira parte. Entre colchetes o que eu estou pedindo é o retorno de um slice da primeira linha (0) até a última linha com passo 2. Até aí, não tem bronca! Passou a vírgula, vou pedir o retorno das colunas, já que eu não sinalizei antes dos dois pontos, sei que estou pedindo do início até a segunda coluna. Contudo, as colunas não deveriam iniciar do 0 ao invés de 1? O comando .shape me diz que dados é um array (4, 3) quatro linhas e três colunas. Então eu tenho linha 0, linha 1, linha 2 e linha 4, não deveria ser a mesma coisa com as colunas? Coluna 0, coluna 1 e coluna 2?
Se esse fosse o caso, sei que, seguindo a lógica, a terceira coluna será mostrada e a resposta estaria errada. Eu me perdi em algum ponto? Ou é por que quando eu comando um slice de um valor até outro valor, o valor final não aparece?