Numpy 中的 ravel() 和 flatten()两个函数可以对多维数据进行扁平化操作。

flatten() 返回的是一个数组的的副本,新的对象;ravel() 返回的是一个数组的非副本视图。

 

示例:

 

numbers = [i* 10 + j for i in range(1, 5) for j in range(1, 5)]
arr = np.array(numbers).reshape(4, 4)
arr

 

 Numpy 中的 ravel() 和 flatten()

 

 1、flatten()

a1 = arr.flatten()
a1

Numpy 中的 ravel() 和 flatten()

 

 flatten() 返回新对象

id(arr), id(a1)

Numpy 中的 ravel() 和 flatten()

 

2、ravel()

a2 = arr.ravel()
a2

Numpy 中的 ravel() 和 flatten()

 

ravel() 返回视图

id(arr), id(a2)

Numpy 中的 ravel() 和 flatten()

 

 

 

相关文章: