Indicizzazione 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.
12345678import 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]])
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.
Tutti gli array di interi utilizzati per ciascun asse devono avere la stessa forma.
123456789101112131415import 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]])
Come puoi vedere, è possibile anche combinare l'indicizzazione intera di base con l'indicizzazione tramite array di interi.
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ì.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.7
Indicizzazione 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.
12345678import 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]])
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.
Tutti gli array di interi utilizzati per ciascun asse devono avere la stessa forma.
123456789101112131415import 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]])
Come puoi vedere, è possibile anche combinare l'indicizzazione intera di base con l'indicizzazione tramite array di interi.
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ì.
Grazie per i tuoi commenti!