🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Indicizzazione in NumPy

Codegrind Team•Jul 22 2023

L’indicizzazione e lo slicing sono aspetti fondamentali nella manipolazione di array in NumPy. Questo articolo esplorerà come effettuare l’indicizzazione e il slicing di array in NumPy, compresi gli array da 1 a 3 dimensioni, e illustrerà l’uso dell’indicizzazione negativa.

Indicizzazione e Slicing di Array Monodimensionali

In un array monodimensionale, l’indicizzazione è simile a quella delle liste Python. Ecco alcuni esempi:

import numpy as np

# Creazione di un array monodimensionale
arr = np.array([0, 1, 2, 3, 4, 5])

# Accesso a un elemento specifico
element = arr[2]  # Restituisce 2

# Slicing per ottenere piĂą elementi
subset = arr[1:4]  # Restituisce un array con elementi [1, 2, 3]

# Slicing con step per ottenere elementi alternati
alternate_elements = arr[::2]  # Restituisce [0, 2, 4]

Indicizzazione e Slicing di Array Bidimensionali

Gli array bidimensionali in NumPy possono essere indicizzati e affettati utilizzando la notazione [riga, colonna]. Ecco un esempio:

import numpy as np

# Creazione di un array bidimensionale
arr = np.array([[0, 1, 2], [3, 4, 5]])

# Accesso a un elemento specifico
element = arr[1, 2]  # Restituisce 5

# Slicing per ottenere piĂą elementi da una riga
row_slice = arr[1, 0:2]  # Restituisce un array con elementi [3, 4]

# Slicing per ottenere una colonna intera
column_slice = arr[:, 1]  # Restituisce un array con elementi [1, 4]

Indicizzazione e Slicing di Array Tridimensionali

Per gli array tridimensionali, l’indicizzazione coinvolge tre dimensioni, ad esempio [strato, riga, colonna]. Ecco un esempio:

import numpy as np

# Creazione di un array tridimensionale
arr = np.array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]])

# Accesso a un elemento specifico
element = arr[1, 0, 1]  # Restituisce 5

# Slicing per ottenere piĂą elementi da uno strato
layer_slice = arr[0, :, :]  # Restituisce un array con gli elementi dello strato 0

Indicizzazione Negativa

NumPy consente anche l’indicizzazione negativa, che conta gli elementi dall’ultima posizione all’indietro. Ad esempio:

import numpy as np

# Creazione di un array monodimensionale
arr = np.array([0, 1, 2, 3, 4, 5])

# Accesso all'ultimo elemento con indicizzazione negativa
element = arr[-1]  # Restituisce 5

L’indicizzazione negativa è utile quando si desidera accedere agli elementi dalla fine dell’array senza dover conoscere la sua lunghezza.

Con una comprensione completa dell’indicizzazione e dello slicing, è possibile accedere e manipolare efficacemente i dati all’interno di array di diverse dimensioni. Sperimenta con gli esempi forniti per approfondire la tua comprensione dell’indicizzazione e dello slicing in NumPy.