NumPy 数组拆分

Del NumPy-array

Split er det omvendte af Join.

Joining (Joining) er at kombinere flere arrays i én, Spliting (Spliting) er at dele en array i flere.

Vi bruger array_split() Del array, del den array, der skal deles, og antallet af dele, der skal sendes til det.

Eksempel

Del arrayet i 3 dele:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr = np.array_split(arr, 3)
print(newarr)

Kør eksempel

Bemærk:Returneringsværdien er en array, der indeholder tre arrays.

Hvis der er færre elementer i arrayet end det krævede antal, vil det foretage passende justeringer fra bunden.

Eksempel

Del arrayet i 4 dele:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr = np.array_split(arr, 4)
print(newarr)

Kør eksempel

Vedligeholdelse:Vi har også split() Metoden er tilgængelig, men når elementerne i kildearrayet er fåere end brugt til at dele, vil den ikke justere elementerne, som i eksemplet ovenfor,array_split() Fungerer normalt, men split() vil mislykkes.

Delt array

array_split() Metodens returneringsværdi er en array, der indeholder hver del.

Hvis du deler en array i 3 dele, kan du få adgang til dem som til ethvert arrayelement i resultatet:

Eksempel

Besøg den delte array:

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])

Kør eksempel

Delt en to维数组

Brug samme syntaks til at dele en to维数组.

Brug array_split() Metoden, indtast den array, der skal deles, og antallet af dele, du ønsker.

Eksempel

Opdel denne 2-D array i tre 2-D arrays.

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)

Kør eksempel

I det foregående eksempel returneres tre 2-D arrays.

Lad os se et andet eksempel, hvor hver element i 2-D arrayen indeholder 3 elementer.

Eksempel

Opdel denne 2-D array i tre 2-D arrays.

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)

Kør eksempel

I det foregående eksempel returneres tre 2-D arrays.

Du kan også specificere, hvilket akse der skal opdeles.

Følgende eksempel returnerer også tre 2-D arrays, men de opdeles langs rækkerne (axis=1).

Eksempel

Opdel denne 2-D array langs rækkerne i tre 2-D arrays.

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)

Kør eksempel

En anden løsning er at bruge samme hstack() Modsat hsplit().

Eksempel

Brug hsplit() metoden til at opdele en 2-D array langs rækkerne i tre 2-D arrays.

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)

Kør eksempel

Vedligeholdelse:vsplit() og dsplit() Man kan bruge samme vstack() og dstack() Lignende alternative metoder.