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

Scorri per mostrare il menu

book
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.

123456789101112131415161718
import 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)
copy

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.

Compito

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:

  1. Assegna il valore 20 a ogni elemento in prices maggiore di 10 (indicizzazione booleana) usando uno scalare.
  2. Assegna un array NumPy con elementi 9, 8 agli ultimi due elementi della seconda riga (secondo array 1D) di ratings. Usa un indice di riga positivo e una slice specificando solo start (indice positivo).

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 10
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

close

Awesome!

Completion rate improved to 3.7

book
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.

123456789101112131415161718
import 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)
copy

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.

Compito

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:

  1. Assegna il valore 20 a ogni elemento in prices maggiore di 10 (indicizzazione booleana) usando uno scalare.
  2. Assegna un array NumPy con elementi 9, 8 agli ultimi due elementi della seconda riga (secondo array 1D) di ratings. Usa un indice di riga positivo e una slice specificando solo start (indice positivo).

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

close

Awesome!

Completion rate improved to 3.7

Scorri per mostrare il menu

some-alt