Numpy提供了两个函数进行扁平化操作,他们的功能相同,但在内存上有很大的不同。我们在平时使用的时候flatten()更为合适,在使用过程中flatten()分配了新的内存,但ravel()返回的是一个数组的视图
例子:
import numpy as np a=np.arange(12).reshape(3,4) print(a) ''' array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) ''' a.ravel() #array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) a.flatten() #array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])