Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Indicizzazione con Array di Interi | Indicizzazione e Slicing
Numpy Definitivo
course content

Contenuti del Corso

Numpy Definitivo

Numpy Definitivo

1. Basi di NumPy
2. Indicizzazione e Slicing
3. Funzioni NumPy Comumente Usate
4. Matematica con NumPy

book
Indicizzazione con Array di Interi

Oltre all'indicizzazione di base, dove usiamo un intero per un singolo indice, NumPy ci permette anche di usare un intero array 1D di interi (è possibile anche una lista di interi) per l'indicizzazione.

Indicizzazione con Array di Interi in Array 1D

Ogni elemento dell'array di interi usato per l'indicizzazione è trattato come un indice, quindi, ad esempio, array[[0, 1, 3]] recupera gli elementi agli indici 0, 1 e 3 sotto forma di un array 1D, dato che array è esso stesso un array 1D. Puoi anche usare array NumPy per l'indicizzazione, ma rende il codice più ingombrante.

12345678
import numpy as np array = np.array([23, 41, 7, 80, 3]) # Retrieving elements at indices 0, 1 and 3 print(array[[0, 1, 3]]) # Retrieving elements at indices 1, -1 and 2 in this order print(array[[1, -1, 2]]) # IndexError is thrown since index 5 is out of bounds print(array[[2, 5]])
copy

Indicizzazione di Array di Interi in Array 1D

Parlando di array 2D e di dimensioni superiori, l'indicizzazione di array di interi funziona allo stesso modo degli array 1D lungo ciascun asse. Se utilizziamo solo un array di interi per l'indicizzazione, indichiamo lungo un solo asse (asse 0). Se utilizziamo due array separati da una virgola, indichiamo lungo entrambi gli assi (asse 0 e asse 1).

L'indicizzazione solo lungo l'asse 0 utilizzando un array di interi restituisce un array 2D. Quando accediamo agli elementi tramite tale indicizzazione, li raggruppiamo in un nuovo array. Questo nuovo array è composto da array 1D, e raggruppandoli si aumenta la dimensionalità di uno, risultando in un array 2D.

L'indicizzazione lungo l'asse 0 e l'asse 1 utilizzando due array di interi restituisce un array 1D.

Nota

Tutti gli array di interi utilizzati per ciascuno degli assi devono avere la stessa forma.

123456789101112131415
import numpy as np array_2d = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # Retrieving first and the third row print(array_2d[[0, 2]]) # Retrieving the main diagonal elements print(array_2d[[0, 1, 2], [0, 1, 2]]) # Retrieving the first and third element of the second row print(array_2d[1, [0, 2]]) # IndexError is thrown, since index 3 along axis 0 is out of bounds print(array_2d[[0, 3], [0, 1]])
copy

Come puoi vedere, possiamo anche combinare l'indicizzazione intera di base e l'indicizzazione tramite array di interi.

Nota

Ancora una volta, se almeno uno degli indici è fuori dai limiti, viene generato un IndexError.

Parlando di applicazioni, tale indicizzazione è utile quando è necessario selezionare elementi specifici che non sono adiacenti tra loro o che non seguono un ordine regolare. A differenza dello slicing, che funziona con intervalli continui, questo metodo ti permette di scegliere esattamente quali elementi recuperare. È utile quando si desidera estrarre dati sparsi o riordinare i valori in un array.

1. Stai analizzando i dati di vendita mensili (in migliaia) per cinque prodotti. Qual è l'output del codice?

2. L'array temperatures rappresenta le temperature settimanali (in °C) di tre città durante lunedì, martedì e mercoledì. Seleziona l'opzione corretta per recuperare le temperature di Berlino lunedì e martedì, e di Madrid martedì.

question mark

Stai analizzando i dati di vendita mensili (in migliaia) per cinque prodotti. Qual è l'output del codice?

Select the correct answer

question mark

L'array temperatures rappresenta le temperature settimanali (in °C) di tre città durante lunedì, martedì e mercoledì. Seleziona l'opzione corretta per recuperare le temperature di Berlino lunedì e martedì, e di Madrid martedì.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

course content

Contenuti del Corso

Numpy Definitivo

Numpy Definitivo

1. Basi di NumPy
2. Indicizzazione e Slicing
3. Funzioni NumPy Comumente Usate
4. Matematica con NumPy

book
Indicizzazione con Array di Interi

Oltre all'indicizzazione di base, dove usiamo un intero per un singolo indice, NumPy ci permette anche di usare un intero array 1D di interi (è possibile anche una lista di interi) per l'indicizzazione.

Indicizzazione con Array di Interi in Array 1D

Ogni elemento dell'array di interi usato per l'indicizzazione è trattato come un indice, quindi, ad esempio, array[[0, 1, 3]] recupera gli elementi agli indici 0, 1 e 3 sotto forma di un array 1D, dato che array è esso stesso un array 1D. Puoi anche usare array NumPy per l'indicizzazione, ma rende il codice più ingombrante.

12345678
import numpy as np array = np.array([23, 41, 7, 80, 3]) # Retrieving elements at indices 0, 1 and 3 print(array[[0, 1, 3]]) # Retrieving elements at indices 1, -1 and 2 in this order print(array[[1, -1, 2]]) # IndexError is thrown since index 5 is out of bounds print(array[[2, 5]])
copy

Indicizzazione di Array di Interi in Array 1D

Parlando di array 2D e di dimensioni superiori, l'indicizzazione di array di interi funziona allo stesso modo degli array 1D lungo ciascun asse. Se utilizziamo solo un array di interi per l'indicizzazione, indichiamo lungo un solo asse (asse 0). Se utilizziamo due array separati da una virgola, indichiamo lungo entrambi gli assi (asse 0 e asse 1).

L'indicizzazione solo lungo l'asse 0 utilizzando un array di interi restituisce un array 2D. Quando accediamo agli elementi tramite tale indicizzazione, li raggruppiamo in un nuovo array. Questo nuovo array è composto da array 1D, e raggruppandoli si aumenta la dimensionalità di uno, risultando in un array 2D.

L'indicizzazione lungo l'asse 0 e l'asse 1 utilizzando due array di interi restituisce un array 1D.

Nota

Tutti gli array di interi utilizzati per ciascuno degli assi devono avere la stessa forma.

123456789101112131415
import numpy as np array_2d = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # Retrieving first and the third row print(array_2d[[0, 2]]) # Retrieving the main diagonal elements print(array_2d[[0, 1, 2], [0, 1, 2]]) # Retrieving the first and third element of the second row print(array_2d[1, [0, 2]]) # IndexError is thrown, since index 3 along axis 0 is out of bounds print(array_2d[[0, 3], [0, 1]])
copy

Come puoi vedere, possiamo anche combinare l'indicizzazione intera di base e l'indicizzazione tramite array di interi.

Nota

Ancora una volta, se almeno uno degli indici è fuori dai limiti, viene generato un IndexError.

Parlando di applicazioni, tale indicizzazione è utile quando è necessario selezionare elementi specifici che non sono adiacenti tra loro o che non seguono un ordine regolare. A differenza dello slicing, che funziona con intervalli continui, questo metodo ti permette di scegliere esattamente quali elementi recuperare. È utile quando si desidera estrarre dati sparsi o riordinare i valori in un array.

1. Stai analizzando i dati di vendita mensili (in migliaia) per cinque prodotti. Qual è l'output del codice?

2. L'array temperatures rappresenta le temperature settimanali (in °C) di tre città durante lunedì, martedì e mercoledì. Seleziona l'opzione corretta per recuperare le temperature di Berlino lunedì e martedì, e di Madrid martedì.

question mark

Stai analizzando i dati di vendita mensili (in migliaia) per cinque prodotti. Qual è l'output del codice?

Select the correct answer

question mark

L'array temperatures rappresenta le temperature settimanali (in °C) di tre città durante lunedì, martedì e mercoledì. Seleziona l'opzione corretta per recuperare le temperature di Berlino lunedì e martedì, e di Madrid martedì.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt