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

Eseguire l'esempio

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)

Eseguire l'esempio

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

Eseguire l'esempio

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)

Eseguire l'esempio

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)

Eseguire l'esempio

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)

Eseguire l'esempio

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)

Eseguire l'esempio

Suggerimento:vsplit() E dsplit() Puoi usare con vstack() E dstack() Metodi alternativi simili