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()
.