Aggiungi dimensione all'array NumPy

Muhammad Maisam Abbas 30 gennaio 2023
  1. Aggiungi dimensione all’array NumPy con la funzione numpy.expand_dims()
  2. Aggiungi dimensione all’array NumPy con la funzione numpy.newaxis in Python
Aggiungi dimensione all'array NumPy

Questo tutorial introdurrà i metodi per aggiungere una nuova dimensione a un array NumPy in Python.

Aggiungi dimensione all’array NumPy con la funzione numpy.expand_dims()

La funzione numpy.expand_dims() aggiunge una nuova dimensione a un array NumPy. Prende l’array da espandere e il nuovo asse come argomenti e restituisce un nuovo array con dimensioni extra. Possiamo specificare l’asse da espandere all’interno del parametro axis della funzione numpy.expand_dims(). Vedere il seguente esempio di codice.

import numpy as np

array = np.array([1, 2, 3])
print(array.shape)

array = np.expand_dims(array, axis=0)
print(array.shape)

array = np.append(array, [[4, 5, 6]], axis=0)
print(array)

Produzione:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

Nel codice sopra, abbiamo prima creato un array 1D array con la funzione np.array() e stampato la forma dell’array con la proprietà array.shape. Abbiamo quindi convertito l’array in un array 2D con la funzione np.expand_dims(array, axis=0) e stampato la nuova forma dell’array con la proprietà array.shape. Alla fine, abbiamo aggiunto nuovi elementi all’array con la funzione np.append() e stampato gli elementi dell’array.

Aggiungi dimensione all’array NumPy con la funzione numpy.newaxis in Python

L’approccio precedente fa il lavoro e funziona bene per ora. L’unico problema è che il metodo precedente è stato deprecato e probabilmente non funzionerà con le versioni più recenti di Python in futuro. Il metodo numpy.newaxis può essere utilizzato anche per raggiungere lo stesso obiettivo del metodo precedente ma con codice e complessità ancora inferiori. Con questo metodo, inoltre, non dobbiamo preoccuparci di non essere supportati nelle versioni successive di Python. Il metodo numpy.newaxis aggiunge una nuova dimensione al nostro array in Python.

import numpy as np

array = np.array([1, 2, 3])
print(array.shape)

array = array[np.newaxis]
print(array.shape)

array = np.append(array, [[4, 5, 6]], axis=0)
print(array)

Produzione:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

Abbiamo convertito l’array in un array 2D con il metodo array[np.newaxis] e stampato la nuova forma dell’array con la proprietà array.shape. Alla fine, abbiamo aggiunto nuovi elementi all’array con la funzione np.append() e stampato gli elementi dell’array.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn