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:
| | |
---|
Roberto | casado | masculino |
Bruno | solteiro | masculino |
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]
| |
---|
Roberto | casado |
Bruno | solteiro |
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!