📜  Python中的numpy.ravel

📅  最后修改于: 2020-06-10 04:35:23             🧑  作者: Mango

numpy.ravel(array, order = ‘C’) : 返回连续的扁平化数组(具有所有输入数组元素且类型相同的一维数组)。仅在需要时才进行复制。

参数:

array:[array_like]输入数组。
order:[C连续,F连续,A连续;可选的]内存中的C连续顺序(最后一个索引变化最快)C顺序表示阵列上的行上升操作将更快内存中的FORTRAN连续顺序(第一个索引变化最快)。F顺序表示逐列运算将更快。如果“ A”表示以类似于Fortran的索引顺序读取/写入元素,数组在内存中是连续的Fortran,否则为类C顺序

返回:

展平的数组,其类型与输入数组相同,并且根据选择具有和顺序。

代码1:显示array.ravel等效于reshape(-1,order = order)

# Python程序说明numpy.ravel()方法 
  
import numpy as geek 
  
array = geek.arange(15).reshape(3, 5) 
print("原始数组 : \n", array) 
  
# Outpue像[0 1 2 ...,12 13 14]一样,因为它是长输出,因此它是在Python中显示outptut的方式 
print("\nravel() : ", array.ravel()) 
  
# 这表明array.ravel等效于reshape(-1,order = order)。
print("\nnumpy.ravel() == numpy.reshape(-1)") 
print("重塑数组 : ", array.reshape(-1)) 

输出:

原始数组:
 [[0 1 2 3 4] 
 [5 6 7 8 9] 
 [10 11 12 13 14]] 

ravel():[0 1 2 ...,12 13 14] 

numpy.ravel()== numpy .reshape(-1)
重塑数组:[0 1 2 ...,12 13 14]

代码2:显示的order操作 

# Python Program illustrating 
# numpy.ravel() method 
  
import numpy as geek 
  
array = geek.arange(15).reshape(3, 5) 
print("原始数组 : \n", array) 
  
# Outpue comes like [ 0  1  2 ..., 12 13 14] 
# as it is a long output, so it is the way of 
# showing outptut in Python 
  
# About :  
print("\n关于numpy.ravel() : ", array.ravel) 
  
print("\nnumpy.ravel() : ", array.ravel()) 
  
# 同时保持“ A"和“ F"顺序 
print("\n维持 A Order : ", array.ravel(order = 'A')) 
  
# 保留顺序“ K"的K顺序表示既不是“ A"也不是“ F" 
array2 = geek.arange(12).reshape(2,3,2).swapaxes(1,2) 
print("\narray2 \n", array2) 
print("\n维持A order : ", array2.ravel(order = 'K')) 

输出: 

原始数组:
 [[0 1 2 3 4] 
 [5 6 7 8 9] 
 [10 11 12 13 14]] 

关于numpy.ravel():   

numpy.ravel():[0 1 2 ...,12 13 14 ] 

维持A order:[0 1 2 ...,12 13 14] 

array2 
 [[[0 2 4] 
  [1 3 5]] 

 [[6 8 10] 
  [7 9 11]]] 

维持A order:[0 1 2 ...,9 10 11]