понимание разницы между функциями сглаживания и равель Numpy
библиотека Numpy предоставляет два метода: сгладить и равель, чтобы преобразовать многомерные массивы в одноразмерные массивы. Однако возникает вопрос: почему имеют две отдельные функции, которые выполняют одну и ту же задачу?
идентичный выход, различное поведение
как Faltten, так и Ravel возвращают список всех элементов в исходном массиве, как показано ниже:
import numpy as np
y = np.array(((1,2,3),(4,5,6),(7,8,9)))
print(y.flatten())
[1 2 3 4 5 6 7 8 9]
print(y.ravel())
[1 2 3 4 5 6 7 8 9]
ключевое различие
важнейшее различие заключается в том, как функции обрабатывают возвращенный массив. Flatten всегда создает копию исходного массива, в то время как Ravel создает представление о исходном массиве, когда это возможно. Кроме того, если вы измените массив, возвращаемый Ravel, изменения отражаются в исходном массиве. Это может быть выгодным в определенных ситуациях.
предостерегает с Ravel
. Однако важно быть осторожным с Ravel. Если возвращенный массив не может быть представлен как представление о исходном массиве, Ravel создаст копию. Кроме того, изменение массива, возвращаемого Ravel, может вызвать неожиданные побочные эффекты в исходном массиве.
Заключение
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3