Numpy np.FILL_DIAGONAL

Numpy np.FILL_DIAGONAL
Questa funzione in numpy ci consente di riempire la diagonale principale di un determinato array con il valore specificato nel parametro della funzione.

Esploriamo questa funzione e come possiamo usarla.

Sintassi della funzione

La sintassi della funzione è come mostrato di seguito:

numpy.FILL_DIAGONAL (A, VAL, WLAP = FALSE)

Parametri

I parametri della funzione sono discussi nella sezione seguente:

  1. A - si riferisce all'array di input la cui diagonale è riempita con il valore specificato.
  2. Val - si riferisce al valore che viene riempito nella diagonale dell'array di input. È possibile impostare il valore come valore scalare o un array. Se il valore è uno scalare, è popolato in diagonale. Un array è appiattito e i suoi elementi popolati nella diagonale dell'array di input. La funzione ripeterà gli elementi dell'array fino a quando le diagonali non saranno riempite.

Nota: la funzione Fill_diagonal () esegue l'operazione sul posto. Ciò significa che modificherà il comportamento originale invece di creare una nuova copia dell'array.

Esempio 1

Dai un'occhiata all'esempio mostrato di seguito:

# Importa Numpy
Importa Numpy come NP
# Crea array
arr = np.Array ([[1,2,3], [4,5,6]])
print (f "vecchio array: arr")
np.FILL_DIAGONAL (arr, 0)
print (f "nuovo array: arr")

Nell'esempio sopra, utilizziamo la funzione Fill_diagonale per sostituire la diagonale principale dell'array 2D con zeri.

Il codice sopra dovrebbe restituire l'output come mostrato:

Old Array:

[[1 2 3]
[4 5 6]]
Nuovo array:
[[0 2 3]
[4 0 6]]

Esempio n. 2

L'esempio seguente utilizza un array per sostituire gli elementi diagonali in un array 2D.

arr = np.Array ([[1,2,3], [4,5,6]])
np.Fill_diagonal (arr, [[100.100]])
Stampa (ARR)

Nell'esempio sopra, passiamo un array 2D per riempire la diagonale di un array 2D. L'array risultante è come mostrato:

[[100 2 3]
[4 100 6]]

Esempio n. 3

Puoi anche usare questa funzione per generare una matrice di identità. Un esempio è mostrato di seguito:

arr = np.ZEROS ((3, 3), int)
np.FILL_DIAGONAL (arr, 1)
Stampa (ARR)

E questo dovrebbe darci una matrice di zeri in cui la diagonale principale è piena di quelli.

[[1 0 0]
[0 1 0]
[0 0 1]]

Conclusione

Questo è tutto per questo. Questo articolo ha descritto la funzione Fill_diagonal () come previsto in Numpy. Abbiamo anche illustrato vari esempi di utilizzo della funzione.

Grazie per aver letto!!