Ответ 1
Aha:
Основное функциональное отличие состоит в том, что flatten
является методом объекта ndarray и, следовательно, может быть вызван только для истинных массивов numpy. Напротив, ravel()
является функцией уровня библиотеки и, следовательно, может быть вызвана на любой объект, который может быть успешно проанализирован. Например, ravel()
будет работать над списком ndarrays, а сгладить (очевидно) не будет.
Кроме того, как отметил в своем комментарии @jonrsharpe, метод сглаживания всегда возвращает копию, тогда как ravel только делает это "при необходимости". Все еще не совсем показано, как это определение сделано.