Entendendo a diferença entre as funções Flatten e Ravel de Numpy
A biblioteca Numpy fornece dois métodos, aclatten e Ravel, para converter matrizes multidimensionais em uma dimensão de uma vez. No entanto, surge uma pergunta: por que duas funções distintas que executam a mesma tarefa? y = np.array (((1,2,3), (4,5,6), (7,8,9)))) Imprimir (y.flatten ()) [1 2 3 4 5 6 7 8 9] Imprimir (y.ravel ()) [1 2 3 4 5 6 7 8 9]
A DISTINCIÇÃO CHAVE
A diferença crucial está na maneira como as funções lidam com a matriz retornada. O Flatten sempre cria uma cópia da matriz original, enquanto Ravel cria uma visão da matriz original sempre que possível. Além disso, se você modificar a matriz retornada pelo RAVEL, as alterações serão refletidas na matriz original. Isso pode ser vantajoso em determinadas situações. Se a matriz retornada não puder ser apresentada como uma visão da matriz original, o Ravel criará uma cópia. Além disso, a modificação da matriz retornada por Ravel pode causar efeitos colaterais inesperados na matriz original. O achaten sempre retorna uma cópia, enquanto Ravel retorna uma visualização sempre que possível. É essencial entender as diferenças de comportamento para selecionar a função apropriada para suas necessidades específicas.
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