NumPy array dela upp
- Föregående sida NumPy array koppla samman
- Nästa sida NumPy array söka
Dela upp NumPy-arrayer
Delning är den omvända operationen för fusion.
Fusion (Joining) innebär att flera arrayer samlas till en, delning (Spliting) innebär att en array delas upp i flera.
Vi använder array_split()
Dela upp arrayen, skicka den array du vill dela upp och antalet delar till den.
Exempel
Dela upp arrayen i 3 delar:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr)
Kommentar:Returvärdet är en array som innehåller tre arrayer.
Om det finns färre element i arrayen än det krävs, kommer det att justera från slutet.
Exempel
Dela upp arrayen i 4 delar:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
Tips:Vi har också split()
Metoden är tillgänglig, men när elementen i källarrayen är få för att dela upp kommer den inte att justera elementen, som i föregående exempel,array_split()
Fungerar normalt, men split()
kommer att misslyckas.
Dela upp i arrayer
array_split()
Metodens returvärde är en array som innehåller varje delad array.
Om du delar upp en array i 3 delar kan du komma åt dem som om de var vilka arrayelement som helst i resultatet:
Exempel
Åtkomna delade arrayer:
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])
Dela upp tvådimensionella arrayer
Använd samma syntax när du delar upp tvådimensionella arrayer.
Använd array_split()
Metoden tar emot ett att dela upp och ett önskat antal delar.
Exempel
Dela upp denna 2-D array i tre 2-D array.
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)
I föregående exempel returneras tre 2-D array.
Låt oss se ett annat exempel, denna gång innehåller varje element i 2-D array 3 element.
Exempel
Dela upp denna 2-D array i tre 2-D array.
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)
I föregående exempel returneras tre 2-D array.
Du kan också specificera vilket axel du vill dela upp.
Nedanstående exempel returnerar också tre 2-D array, men de är delade längs raderna (axis=1).
Exempel
Dela upp denna 2-D array i tre 2-D array längs raderna.
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)
En annan lösning är att använda hstack()
Omvänd hsplit()
.
Exempel
Använd hsplit() metoden för att dela upp 2-D array längs raderna i tre 2-D array.
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)
Tips:vsplit()
och dsplit()
Det kan användas med vstack()
och dstack()
Liknande alternativmetoder.
- Föregående sida NumPy array koppla samman
- Nästa sida NumPy array söka