Assegnare Valori a Sottoarray Indicizzati
Con gli array indicizzati, le cose iniziano a diventare più interessanti. Qui ci concentreremo su sottoarray 1D e 2D, poiché i sottoarray 3D sono raramente utilizzati nella pratica.
Iniziamo prima con l'assegnazione di valori agli slice. La sintassi generale è la seguente: slice = values
, dove slice
è una porzione di un certo array e values
sono i valori da assegnare.
Formati possibili di values
:
- un singolo scalare (numero);
- un array 1D della stessa dimensione dello slice (se è 1D); o della dimensione della seconda dimensione (se lo slice è 2D);
- un array 2D della stessa forma di uno slice 2D.
123456789101112131415161718import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
Quando assegniamo uno scalare a una slice 1D, questo scalare viene assegnato a ogni elemento della slice. Quando un array 1D viene assegnato a una slice 2D, questo array 1D viene assegnato a ogni array 1D nella slice. Assegnare uno scalare a una slice 2D funziona allo stesso modo di una slice 1D.
Assegnare valori a sottoarray indicizzati con array di interi funziona allo stesso modo delle slice. Assegnare valori a sottoarray indicizzati con booleani funziona allo stesso modo delle slice 1D.
Swipe to start coding
Stai gestendo un dataset di prezzi e valutazioni di prodotti. I prezzi sono memorizzati nell'array prices
, e le valutazioni (su 10) sono memorizzate nell'array ratings
, dove ogni riga rappresenta una diversa categoria di prodotto. Il tuo compito è aggiornare i prezzi e le valutazioni in base a criteri specifici:
- Assegna il valore
20
a ogni elemento inprices
maggiore di 10 (indicizzazione booleana) usando uno scalare. - Assegna un array NumPy con elementi
9
,8
agli ultimi due elementi della seconda riga (secondo array 1D) diratings
. Usa un indice di riga positivo e una slice specificando solostart
(indice positivo).
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain what happens if the shapes of the assigned values and the slice don't match?
Can you show more examples of assigning values to slices using boolean indexing?
What is the difference between assigning a 1D array and a 2D array to a 2D slice?
Awesome!
Completion rate improved to 3.7
Assegnare Valori a Sottoarray Indicizzati
Scorri per mostrare il menu
Con gli array indicizzati, le cose iniziano a diventare più interessanti. Qui ci concentreremo su sottoarray 1D e 2D, poiché i sottoarray 3D sono raramente utilizzati nella pratica.
Iniziamo prima con l'assegnazione di valori agli slice. La sintassi generale è la seguente: slice = values
, dove slice
è una porzione di un certo array e values
sono i valori da assegnare.
Formati possibili di values
:
- un singolo scalare (numero);
- un array 1D della stessa dimensione dello slice (se è 1D); o della dimensione della seconda dimensione (se lo slice è 2D);
- un array 2D della stessa forma di uno slice 2D.
123456789101112131415161718import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
Quando assegniamo uno scalare a una slice 1D, questo scalare viene assegnato a ogni elemento della slice. Quando un array 1D viene assegnato a una slice 2D, questo array 1D viene assegnato a ogni array 1D nella slice. Assegnare uno scalare a una slice 2D funziona allo stesso modo di una slice 1D.
Assegnare valori a sottoarray indicizzati con array di interi funziona allo stesso modo delle slice. Assegnare valori a sottoarray indicizzati con booleani funziona allo stesso modo delle slice 1D.
Swipe to start coding
Stai gestendo un dataset di prezzi e valutazioni di prodotti. I prezzi sono memorizzati nell'array prices
, e le valutazioni (su 10) sono memorizzate nell'array ratings
, dove ogni riga rappresenta una diversa categoria di prodotto. Il tuo compito è aggiornare i prezzi e le valutazioni in base a criteri specifici:
- Assegna il valore
20
a ogni elemento inprices
maggiore di 10 (indicizzazione booleana) usando uno scalare. - Assegna un array NumPy con elementi
9
,8
agli ultimi due elementi della seconda riga (secondo array 1D) diratings
. Usa un indice di riga positivo e una slice specificando solostart
(indice positivo).
Soluzione
Grazie per i tuoi commenti!
Awesome!
Completion rate improved to 3.7single