NumPy ravel() 函式



NumPy 的ravel()函式透過提供一個包含與輸入相同元素但只有一維的1D陣列來返回一個扁平化的陣列。

flatten()函式相比,ravel()函式在可能的情況下返回輸入陣列的扁平化檢視,如果輸入陣列不是連續的,則返回一個副本。

ravel()函式對於某些操作來說更節省記憶體。它接受一個order引數,該引數可以是'C'、'F'、'A'或'K',以指定扁平化陣列中元素的所需順序。

語法

NumPy ravel()函式的語法如下:

numpy.ravel(a, order='C')

引數

以下是 NumPy ravel()函式的引數:

  • a (array_like): 'a'中的元素根據order引數以行主序(C風格)或列主序(Fortran風格)讀取。
  • order: {'C', 'F', 'A', 'K'}, 可選:指定讀取元素的順序。
    • 'C': 行主序(C風格)。
    • 'F': 列主序(Fortran風格)。
    • 'A': 如果陣列儲存在行主序記憶體中,則為行主序,否則為列主序。
    • 'K': 元素按其在記憶體中出現的順序讀取,但當步長為負時,會反轉資料。

返回值

此函式返回一個1D陣列,其中包含輸入陣列的元素,以扁平化的順序排列。

示例 1

以下是 NumPy ravel()函式的示例,它展示了 ravel() 的基本用法,將一個 2D 陣列扁平化為一個 1D 陣列,以行主序排列。

import numpy as np

# Creating a 2D array
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Flattening the array
flattened_array = np.ravel(array_2d)

print("Original array:\n")
print(array_2d)
print("Flattened array:")
print(flattened_array)

輸出

Original array:
 [[1 2 3]
  [4 5 6]]
Flattened array: [1 2 3 4 5 6]

示例 2

此示例說明了如何使用 numpy.ravel() 函式將一個 3D 陣列扁平化為一個 1D 陣列,遵循預設的行主序。

import numpy as np

# Creating a 3D array
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

# Flattening the array
flattened_array_3d = np.ravel(array_3d)

print("Original 3D array:\n")
print(array_3d)
print("Flattened array:")
print(flattened_array_3d)

輸出

Original 3D array:
 [[[1 2]
   [3 4]]

  [[5 6]
   [7 8]]]
Flattened array: [1 2 3 4 5 6 7 8]
numpy_array_manipulation.htm
廣告