numpy.split#

numpy.split(ary, indices_or_sections, axis=0)[原始碼]#

將陣列分割成多個子陣列,作為 ary 的視圖。

參數:
aryndarray

要分割成子陣列的陣列。

indices_or_sectionsint 或 1-D 陣列

如果 indices_or_sections 是一個整數 N,則陣列將沿著 axis 分割成 N 個相等的陣列。如果無法進行這樣的分割,則會引發錯誤。

如果 indices_or_sections 是一個已排序整數的 1-D 陣列,則這些條目指示沿著 axis 分割陣列的位置。例如,[2, 3] 會對於 axis=0 產生

  • ary[:2]

  • ary[2:3]

  • ary[3:]

如果索引超出陣列沿著 axis 的維度,則會相應地傳回一個空的子陣列。

axisint,選用

要沿著分割的軸,預設值為 0。

返回:
子陣列ndarray 列表

作為 ary 視圖的子陣列列表。

引發:
ValueError

如果 indices_or_sections 作為整數給定,但分割不會導致相等劃分。

參見

array_split

將陣列分割成大小相等或接近相等的子陣列。如果無法進行相等劃分,則不會引發例外。

hsplit

將陣列水平(逐欄)分割成多個子陣列。

vsplit

將陣列垂直(逐列)分割成多個子陣列。

dsplit

沿著第三軸(深度)將陣列分割成多個子陣列。

concatenate

沿著現有軸連接陣列序列。

stack

沿著新軸連接陣列序列。

hstack

水平(逐欄)堆疊陣列序列。

vstack

垂直(逐列)堆疊陣列序列。

dstack

深度方向(沿第三維度)堆疊陣列序列。

範例

>>> import numpy as np
>>> x = np.arange(9.0)
>>> np.split(x, 3)
[array([0.,  1.,  2.]), array([3.,  4.,  5.]), array([6.,  7.,  8.])]
>>> x = np.arange(8.0)
>>> np.split(x, [3, 5, 6, 10])
[array([0.,  1.,  2.]),
 array([3.,  4.]),
 array([5.]),
 array([6.,  7.]),
 array([], dtype=float64)]