Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Indicizzazione di Array Interi | Indicizzazione e Slicing
Ultimate NumPy

bookIndicizzazione di Array Interi

Oltre all'indicizzazione di base, dove si utilizza un intero come singolo indice, NumPy consente anche di utilizzare un'intera 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 utilizzato per l'indicizzazione viene considerato come un indice; ad esempio, array[[0, 1, 3]] recupera gli elementi agli indici 0, 1 e 3 sotto forma di array 1D, supponendo che array sia esso stesso un array 1D. È possibile utilizzare anche array di NumPy per l'indicizzazione, ma ciò rende il codice più macchinoso.

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

Per quanto riguarda gli array 2D e multidimensionali, l'indicizzazione tramite array di interi funziona allo stesso modo che negli array 1D lungo ciascun asse. Se si utilizza un solo array di interi per l'indicizzazione, si effettua l'indicizzazione solo lungo un asse (asse 0). Se si utilizzano due array separati da una virgola, si effettua l'indicizzazione lungo entrambi gli assi (asse 0 e asse 1).

L'indicizzazione solo lungo asse 0 utilizzando un array di interi restituisce un array 2D. Quando si accede agli elementi tramite questa indicizzazione, essi vengono raggruppati in un nuovo array. Questo nuovo array è composto da array 1D, e il raggruppamento aumenta la dimensionalità di uno, producendo così un array 2D.

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

Note
Nota

Tutti gli array di interi utilizzati per ciascun asse 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, è possibile anche combinare l'indicizzazione intera di base con l'indicizzazione tramite array di interi.

Note
Nota

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

Per quanto riguarda le applicazioni, questa indicizzazione è utile quando è necessario selezionare elementi specifici che non sono adiacenti o che non seguono un ordine regolare. A differenza dello slicing, che lavora con intervalli continui, questo metodo consente 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 per lunedì e martedì, e di Madrid per 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 per lunedì e martedì, e di Madrid per martedì.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

Awesome!

Completion rate improved to 3.7

bookIndicizzazione di Array Interi

Scorri per mostrare il menu

Oltre all'indicizzazione di base, dove si utilizza un intero come singolo indice, NumPy consente anche di utilizzare un'intera 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 utilizzato per l'indicizzazione viene considerato come un indice; ad esempio, array[[0, 1, 3]] recupera gli elementi agli indici 0, 1 e 3 sotto forma di array 1D, supponendo che array sia esso stesso un array 1D. È possibile utilizzare anche array di NumPy per l'indicizzazione, ma ciò rende il codice più macchinoso.

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

Per quanto riguarda gli array 2D e multidimensionali, l'indicizzazione tramite array di interi funziona allo stesso modo che negli array 1D lungo ciascun asse. Se si utilizza un solo array di interi per l'indicizzazione, si effettua l'indicizzazione solo lungo un asse (asse 0). Se si utilizzano due array separati da una virgola, si effettua l'indicizzazione lungo entrambi gli assi (asse 0 e asse 1).

L'indicizzazione solo lungo asse 0 utilizzando un array di interi restituisce un array 2D. Quando si accede agli elementi tramite questa indicizzazione, essi vengono raggruppati in un nuovo array. Questo nuovo array è composto da array 1D, e il raggruppamento aumenta la dimensionalità di uno, producendo così un array 2D.

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

Note
Nota

Tutti gli array di interi utilizzati per ciascun asse 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, è possibile anche combinare l'indicizzazione intera di base con l'indicizzazione tramite array di interi.

Note
Nota

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

Per quanto riguarda le applicazioni, questa indicizzazione è utile quando è necessario selezionare elementi specifici che non sono adiacenti o che non seguono un ordine regolare. A differenza dello slicing, che lavora con intervalli continui, questo metodo consente 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 per lunedì e martedì, e di Madrid per 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 per lunedì e martedì, e di Madrid per martedì.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5
some-alt