Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resultados diferentes mudando a sintaxe

Entendi a solução:

dados[0::2, :2]

array([['Roberto', 'casado'],
       ['Bruno', 'solteiro']], dtype='<U9')

Entretanto ao mudar a sintaxe de ndarray[ linha, coluna ] para ndarray[ linha ][ coluna ], o resultado muda:

dados[0::2][:2]

array([['Roberto', 'casado', 'masculino'],
       ['Bruno', 'solteiro', 'masculino']], dtype='<U9')

Não entendi porque.

1 resposta
solução!

Olá, Gustavo. Tudo bom?

Para entender melhor o que está acontecendo vamos nos contextualizar.

Quando temos por exemplo:

import numpy as np
array = np.array(
    [
        ['Roberto', 'casado', 'masculino'],
        ['Sheila', 'solteira', 'feminino'],
        ['Bruno', 'solteiro', 'masculino'],
        ['Rita', 'casada', 'feminino']
    ]
)

E passamos o seguinte código:

array[0::2][:2]

Quando fazemos do modo array[início: fim: frequência] [início:fim ] estamos selecionando primeiramente no [0::2] todas as linhas a partir da linha 0 até a última linha , com uma frequência = 2, e depois estamos selecionando [:2] todas a linhas até a linha número 2. Então teremos como saída:

Robertocasadomasculino
Brunosolteiromasculino

Perceba que não selecionamos colunas, e na verdade aplicamos uma seleção por cima, somente filtrando a quantidade de linhas e a frequência que elas aparecem, selecionando apenas uma dimensão do nosso array.

Por outro lado, quando passamos o seguinte código:

array[0::2, :2]
Robertocasado
Brunosolteiro

Estamos fazendo uma separação em duas dimensões, e podemos definir isso com a seguinte logica, array[x_início: x_fim: x_frequência, y_início: y_fim: y_frequência] perceba que o "," separa o eixo x, que seria as linhas e do eixo y que seria as colunas. Ou seja dentro do nosso array selecionamos a linhas de 0 até o final, pulando de dois em dois e estamos selecionando as colunas de 0 até o 2 (lembrando que a última coluna não entra).

Espero ter ajudado. Se tiver mais alguma dúvida, estou à disposição. Bons estudos =)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!