Suddivisione di array NumPy
- Pagina precedente Connettione di array NumPy
- Pagina successiva Ricerca di array NumPy
Dividi l'array NumPy
La divisione è l'operazione inversa della connessione.
Connessione (Joining) è l'unione di più array in uno, Splitting è la divisione di un array in più.
Usiamo array_split()
Dividi l'array, passa all'array da dividere e al numero di divisioni da passare a lui.
Esempio
Dividi l'array in 3 parti:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr)
Nota:Il valore di ritorno è un array che contiene tre array.
Se gli elementi dell'array sono meno del numero richiesto, si aggiusteranno corrispondentemente dalla fine.
Esempio
Dividi l'array in 4 parti:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
Suggerimento:Abbiamo anche split()
Il metodo è disponibile, ma quando gli elementi dell'array sorgente sono pochi per la divisione, non aggiusterà gli elementi, come nell'esempio sopra,array_split()
Funziona correttamente, ma split()
Fallirà.
Dividi in array
array_split()
Il valore di ritorno del metodo è un array che contiene ogni divisione.
Se dividiamo un array in 3 array, possiamo accedervi come se fossero elementi di qualsiasi array di risultato:
Esempio
Accedi all'array diviso:
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])
Dividi l'array bidimensionale
Quando si splitta un array bidimensionale, usa la stessa sintassi.
Usa array_split()
Metodo, inserisci l'array da dividere e il numero di divisioni desiderato.
Esempio
Dividere questo array 2-D in tre array 2-D.
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)
L'esempio precedente restituisce tre array 2-D.
Vediamo un altro esempio, questa volta ogni elemento dell'array 2-D contiene 3 elementi.
Esempio
Dividere questo array 2-D in tre array 2-D.
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)
L'esempio precedente restituisce tre array 2-D.
Inoltre, puoi specificare l'asse da dividere.
L'esempio seguente restituisce anche tre array 2-D, ma sono divisi lungo le righe (axis=1).
Esempio
Dividere questo array 2-D in tre array 2-D lungo le righe.
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)
Un'altra soluzione è utilizzare con hstack()
Contrario hsplit()
.
Esempio
Dividere un array 2-D lungo le righe in tre array 2-D utilizzando il metodo hsplit().
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)
Suggerimento:vsplit()
E dsplit()
Puoi usare con vstack()
E dstack()
Metodi alternativi simili
- Pagina precedente Connettione di array NumPy
- Pagina successiva Ricerca di array NumPy