Não entendi direito essa sintaxe passada pro numpy, poderiam explicar por favor?
dado_transposto[:,0]
dado_transposto[:,1:6]
Obrigado!
Não entendi direito essa sintaxe passada pro numpy, poderiam explicar por favor?
dado_transposto[:,0]
dado_transposto[:,1:6]
Obrigado!
Olá José, tudo bem com você?
A sintaxe apresentada faz parte do fatiamento (slicing) de arrays no NumPy. É uma forma de acessar e manipular partes específicas de arrays multidimensionais. A sintaxe é composta por:
dado[linha_inicial:linha_final,coluna_inicial:coluna_final]
Onde:
linha_inicial:linha_final
→ Define o intervalo de linhas a ser selecionado (o final não é incluído)coluna_inicial:coluna_final
→ Define o intervalo de colunas a ser selecionado (o final não é incluído):
(dois pontos) sozinho significa "pegar tudo"Vamos aos códigos agora?
No primeiro código estamos selecionando todas as linhas de uma coluna específica:
dado_transposto[:, 0]
Pois usamos as seguintes informações para o fatiamento (slicing):
:
→ Seleciona todas as linhas0
→ Seleciona a primeira colunaAplicando este exemplo em código temos:
import numpy as np
dado_transposto = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Seleciona todas as linhas da primeira coluna
coluna_0 = dado_transposto[:, 0]
print(coluna_0)
Resultado
[1 4 7]
No segundo código, estamos selecionando todas as linhas de colunas em um intervalo:
dado_transposto[:, 1:6]
Onde:
:
→ Seleciona todas as linhas1:6
→ Seleciona as colunas de índice 1 até 5 (o último número, 6, não é incluído)Aplicando este exemplo em código temos:
import numpy as np
dado_transposto = np.array([[1, 2, 3, 4, 5, 6],
[7, 8, 9, 10, 11, 12],
[13, 14, 15, 16, 17, 18]])
# Seleciona todas as linhas das colunas de 1 a 5
colunas_1_a_5 = dado_transposto[:, 1:6]
print(colunas_1_a_5)
Resultado
[[ 2 3 4 5 6]
[ 8 9 10 11 12]
[14 15 16 17 18]]
Este código retorna todas as linhas e as colunas de índice 1 até 5.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado