Assegnazione di Valori a Sottoarray Indicizzati
Con gli array indicizzati, le cose diventano più interessanti. Qui ci concentreremo su sottoarray 1D e 2D, poiché i sottoarray 3D sono raramente utilizzati nella pratica.
Iniziamo assegnando valori alle 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 per values:
- un singolo scalare (numero);
- un array 1D della stessa dimensione della slice (se è 1D); oppure della dimensione della seconda dimensione (se la slice è 2D);
- un array 2D della stessa forma di una 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 si assegna 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. L'assegnazione di uno scalare a una slice 2D funziona allo stesso modo che con una slice 1D.
L'assegnazione di valori a sottoarray indicizzati tramite array di interi funziona allo stesso modo delle slice. L'assegnazione di valori a sottoarray indicizzati tramite array booleani funziona allo stesso modo delle slice 1D.
Swipe to start coding
Gestisci un dataset di prezzi e valutazioni dei prodotti. I prezzi sono memorizzati nell'array prices, mentre le valutazioni (su 10) sono memorizzate nell'array ratings, dove ogni riga rappresenta una categoria di prodotto diversa. Il tuo compito è aggiornare i prezzi e le valutazioni in base a criteri specifici:
- Assegna il valore
20a ogni elemento dipricesmaggiore di 10 (indicizzazione booleana) utilizzando uno scalare. - Assegna un array NumPy con elementi
9,8agli ultimi due elementi della seconda riga (secondo array 1D) diratings. Usa un indice di riga positivo e uno 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
Awesome!
Completion rate improved to 3.7
Assegnazione di Valori a Sottoarray Indicizzati
Scorri per mostrare il menu
Con gli array indicizzati, le cose diventano più interessanti. Qui ci concentreremo su sottoarray 1D e 2D, poiché i sottoarray 3D sono raramente utilizzati nella pratica.
Iniziamo assegnando valori alle 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 per values:
- un singolo scalare (numero);
- un array 1D della stessa dimensione della slice (se è 1D); oppure della dimensione della seconda dimensione (se la slice è 2D);
- un array 2D della stessa forma di una 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 si assegna 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. L'assegnazione di uno scalare a una slice 2D funziona allo stesso modo che con una slice 1D.
L'assegnazione di valori a sottoarray indicizzati tramite array di interi funziona allo stesso modo delle slice. L'assegnazione di valori a sottoarray indicizzati tramite array booleani funziona allo stesso modo delle slice 1D.
Swipe to start coding
Gestisci un dataset di prezzi e valutazioni dei prodotti. I prezzi sono memorizzati nell'array prices, mentre le valutazioni (su 10) sono memorizzate nell'array ratings, dove ogni riga rappresenta una categoria di prodotto diversa. Il tuo compito è aggiornare i prezzi e le valutazioni in base a criteri specifici:
- Assegna il valore
20a ogni elemento dipricesmaggiore di 10 (indicizzazione booleana) utilizzando uno scalare. - Assegna un array NumPy con elementi
9,8agli ultimi due elementi della seconda riga (secondo array 1D) diratings. Usa un indice di riga positivo e uno slice specificando solostart(indice positivo).
Soluzione
Grazie per i tuoi commenti!
single