Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Assegnazione di Valori a Sottoarray Indicizzati | Indicizzazione e Slicing
Basi di NumPy

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

Compito

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:

  1. Assegna il valore 20 a ogni elemento di prices maggiore di 10 (indicizzazione booleana) utilizzando 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 uno slice specificando solo start (indice positivo).

Soluzione

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

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

Compito

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:

  1. Assegna il valore 20 a ogni elemento di prices maggiore di 10 (indicizzazione booleana) utilizzando 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 uno 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

some-alt