NumPy split() 函式



NumPy 的split()函式將一個數組沿著指定的軸分成多個子陣列。如果給定一個整數,則可以將陣列分成大小相等的子陣列;如果給定一個列表,則可以在指定的索引處進行分割。

此函式對於將資料分解成更小的塊以便於操作和分析特別有用。

語法

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

numpy.split(ary, indices_or_sections, axis=0)

引數

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

  • ary(array_like): 要分割的輸入陣列。
  • indices_or_sections(int 或 1-D array): 如果是整數 (N),則陣列將被分成 N 個相等的部分。如果是一個數組,則陣列中的值指示在哪裡分割陣列。
  • axis(int, 可選): 要分割的軸,預設為 0,即沿行分割。

返回值

此函式返回一個列表,其中包含分割結果的子陣列。

示例 1

下面的示例演示了 NumPy split() 函式如何將一個包含 9 個元素的陣列分成 3 個相等的子陣列:

import numpy as np

# Create an array
arr = np.arange(9)
print("Original array:")
print(arr)

# Split the array into 3 equal parts
result = np.split(arr, 3)
print("\nSplit array into 3 equal parts:")
for i, sub_array in enumerate(result):
    print(f"Sub-array {i+1}:")
    print(sub_array)

輸出

Original array:
[0 1 2 3 4 5 6 7 8]

Split array into 3 equal parts:
Sub-array 1:
[0 1 2]
Sub-array 2:
[3 4 5]
Sub-array 3:
[6 7 8]

示例 2

在此示例中,我們演示如何沿著列 (axis=1) 將一個二維陣列分成 2 個子陣列:

import numpy as np

# Create a 2D array
arr = np.arange(16).reshape(4, 4)
print("Original 2D array:")
print(arr)

# Split the 2D array into 2 sub-arrays along columns
result = np.split(arr, 2, axis=1)
print("\nSplit 2D array into 2 sub-arrays along columns:")
for i, sub_array in enumerate(result):
    print(f"Sub-array {i+1}:")
    print(sub_array)

輸出

Original 2D array:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]

Split 2D array into 2 sub-arrays along columns:
Sub-array 1:
[[ 0  1]
 [ 4  5]
 [ 8  9]
 [12 13]]
Sub-array 2:
[[ 2  3]
 [ 6  7]
 [10 11]
 [14 15]]
numpy_array_manipulation.htm
廣告