NumPy Splitting Array


Verdeel NumPy-skikkings

Splitsing is omgekeerde werking van aansluiting.

Saamvoeging voeg veelvuldige skikkings saam in een en splitsing breek een skikking in veelvoud.

Ons gebruik array_split()vir die verdeling van skikkings, ons gee dit die skikking wat ons wil verdeel en die aantal verdelings.

Voorbeeld

Verdeel die skikking in 3 dele:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 3)

print(newarr)

Let wel: Die terugkeerwaarde is 'n skikking wat drie skikkings bevat.

As die skikking minder elemente het as wat vereis word, sal dit van die einde dienooreenkomstig aanpas.

Voorbeeld

Verdeel die skikking in 4 dele:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 4)

print(newarr)

Let wel: Ons het ook die metode split()beskikbaar, maar dit sal nie die elemente aanpas wanneer elemente minder in bronskikking is vir verdeling soos in voorbeeld hierbo nie, array_split()behoorlik gewerk het, maar split()sou misluk.



Verdeel in skikkings

Die terugkeerwaarde van die array_split()metode is 'n skikking wat elk van die verdeling as 'n skikking bevat.

As jy 'n skikking in 3 skikkings verdeel, kan jy toegang tot hulle verkry vanaf die resultaat net soos enige skikkingselement:

Voorbeeld

Toegang tot die verdeelde skikkings:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 3)

print(newarr[0])
print(newarr[1])
print(newarr[2])

Verdeel 2-D-skikkings

Gebruik dieselfde sintaksis wanneer 2-D skikkings verdeel word.

Gebruik die array_split()metode, gee die skikking in wat jy wil verdeel en die aantal splits wat jy wil doen.

Voorbeeld

Verdeel die 2-D-skikking in drie 2-D-skikkings.

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]])

newarr = np.array_split(arr, 3)

print(newarr)

Die voorbeeld hierbo gee drie 2-D skikkings terug.

Kom ons kyk na 'n ander voorbeeld, hierdie keer bevat elke element in die 2-D skikkings 3 elemente.

Voorbeeld

Verdeel die 2-D-skikking in drie 2-D-skikkings.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.array_split(arr, 3)

print(newarr)

Die voorbeeld hierbo gee drie 2-D skikkings terug.

Daarbenewens kan jy spesifiseer watter as jy die verdeling wil doen.

Die voorbeeld hieronder gee ook drie 2-D skikkings terug, maar hulle is langs die ry verdeel (as=1).

Voorbeeld

Verdeel die 2-D-skikking in drie 2-D-skikkings langs rye.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.array_split(arr, 3, axis=1)

print(newarr)

'n Alternatiewe oplossing is om die hsplit()teenoorgestelde van hstack()

Voorbeeld

Gebruik die hsplit()metode om die 2-D-skikking in drie 2-D-skikkings langs rye te verdeel.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.hsplit(arr, 3)

print(newarr)

Let wel: Soortgelyke alternatiewe as vstack()en dstack()is beskikbaar as vsplit()en dsplit().