O que é 'np.newaxis' do NumPy e como usá-lo
Compreendendo 'np.newaxis'
'np.newaxis' do NumPy, também conhecido como 'None', é um pseudo-índice usado para adicionar temporariamente um eixo a um array. Quando usado uma vez, aumenta a dimensão do array em um. Por exemplo, uma matriz 1D torna-se uma matriz 2D, uma matriz 2D torna-se uma matriz 3D e assim por diante.
Cenários para usar 'np.newaxis'
Cenário 1: Criando vetores de linha/coluna a partir de matrizes 1D
'np.newaxis' pode ser usado para converter explicitamente uma matriz 1D em um vetor de linha (inserindo um eixo ao longo da primeira dimensão) ou um vetor de coluna (inserindo um eixo ao longo da segunda dimensão).
Cenário 2: Habilitando NumPy Broadcasting
'np.newaxis' torna-se útil ao executar operações envolvendo Transmissão NumPy. Por exemplo, considere adicionar duas matrizes com formas '(5,)' e '(3,)'. NumPy gerará um erro devido a formas incompatíveis. Ao usar 'np.newaxis' para aumentar a dimensão de um array, a transmissão pode ser habilitada para realizar a operação.
Cenário 3: Promovendo arrays para dimensões superiores
'np.newaxis' pode ser usado várias vezes para promover matrizes para dimensões mais altas, o que pode ser necessário para matrizes de ordem superior (tensores).
Exemplos de uso
Para use 'np.newaxis', insira-o na expressão de fatiamento. Por exemplo:
# Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]
Para ativar a transmissão:
# Add a 1D array to a 2D array
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])
x1_new = x1[:, np.newaxis] # Insert axis for broadcasting
result = x1_new x2
Alternativa: 'np.expand_dims'
'np.expand_dims' é uma alternativa a 'np.newaxis' que fornece um 'eixo' intuitivo kwarg para especificar o ponto de inserção do novo eixo.
Notas adicionais
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3