Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Indicizzazione Multidimensionale | Indicizzazione e Slicing
Numpy Definitivo

book
Indicizzazione Multidimensionale

Ora che sei in grado di accedere agli elementi negli array 1D, è il momento di imparare l'indicizzazione negli array multidimensionali.

Indicizzazione degli Array 2D

Questo è un array 2x3, il che significa che consiste di 2 array 1D lungo l'asse 0, e ciascuno di questi array 1D ha 3 elementi lungo l'asse 1.

Le immagini sotto chiariranno l'indicizzazione positiva e negativa negli array 2D (i valori dell'array sono mostrati in nero, e gli indici sono mostrati in verde per gli indici positivi e in rosso per gli indici negativi):

Accesso agli Elementi negli Array 2D

Negli array 1D, accediamo agli elementi specificando l'indice dell'elemento tra parentesi quadre. Se facciamo lo stesso negli array 2D, recuperiamo un array 1D all'indice specificato, che potrebbe essere esattamente ciò di cui abbiamo bisogno.

Tuttavia, se vogliamo recuperare un particolare elemento di un array 1D interno, dovremmo specificare l'indice dell'array 1D (lungo l'asse 0) e l'indice del suo elemento (lungo l'asse 1), ad esempio, array[0, 1]. Potremmo anche scrivere array[0][1] come facciamo con le list di Python, ma questo è meno efficiente poiché esegue la ricerca due volte per ogni indice invece di una sola.

Nota

Se un indice specificato è fuori dai limiti, viene lanciato un IndexError, quindi fai attenzione a questo.

import numpy as np
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
# Accessing the first element (1D array) with positive index
print(array_2d[0])
# Accessing the second element of the first 1D array with positive index
print(array_2d[0, 1])
# Accessing the last element of the last 1D array with negative index
print(array_2d[-1, -1])
12345678
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Accessing the first element (1D array) with positive index print(array_2d[0]) # Accessing the second element of the first 1D array with positive index print(array_2d[0, 1]) # Accessing the last element of the last 1D array with negative index print(array_2d[-1, -1])
copy

L'immagine sotto mostra la struttura dell'array stock_prices utilizzato nel compito:

Compito

Swipe to start coding

stock_prices contiene prezzi azionari simulati per cinque giorni per cinque diverse aziende. Ogni riga corrisponde a una particolare azienda, e ogni colonna corrisponde a un particolare giorno. Di conseguenza, ogni elemento nella matrice rappresenta il prezzo di chiusura delle azioni di una certa azienda in un determinato giorno.

  1. Recupera tutti i prezzi azionari della prima azienda per cinque giorni usando l'indicizzazione positiva.

  2. Recupera il prezzo azionario della terza azienda nel secondo giorno usando l'indicizzazione positiva.

  3. Recupera il prezzo azionario dell'ultima azienda nell'ultimo giorno usando l'indicizzazione negativa.

Soluzione

import numpy as np
# Creating a 5x5 matrix representing stock prices
stock_prices = np.array([
[120, 130, 140, 150, 160],
[210, 220, 230, 240, 250],
[310, 320, 330, 340, 350],
[410, 420, 430, 440, 450],
[510, 520, 530, 540, 550]
])
# Retrieve all the stock prices of the first company over five days with a positive index
first_company_prices = stock_prices[0]
# Retrieve the stock price of the third company on the second day with positive indices
third_company_second_day_price = stock_prices[2, 1]
# Retrieve the stock price of the last company on the last day with negative indices
last_company_last_day_price = stock_prices[-1, -1]
print(first_company_prices)
print(third_company_second_day_price)
print(last_company_last_day_price)

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 2
import numpy as np
# Creating a 5x5 matrix representing stock prices
stock_prices = np.array([
[120, 130, 140, 150, 160],
[210, 220, 230, 240, 250],
[310, 320, 330, 340, 350],
[410, 420, 430, 440, 450],
[510, 520, 530, 540, 550]
])
# Retrieve all the stock prices of the first company over five days with a positive index
first_company_prices = ___
# Retrieve the stock price of the third company on the second day with positive indices
third_company_second_day_price = ___
# Retrieve the stock price of the last company on the last day with negative indices
last_company_last_day_price = ___
print(first_company_prices)
print(third_company_second_day_price)
print(last_company_last_day_price)

Chieda ad AI

expand
ChatGPT

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

some-alt