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

bookSlicing

Slicing in Python si riferisce al recupero di elementi da un indice a un altro all'interno di una sequenza. In questo capitolo, tuttavia, ci concentreremo sullo slicing negli array NumPy.

Slicing negli array 1D

La sintassi generale per lo slicing negli array 1D è la seguente: array[start:end:step].

  • start è l'indice da cui iniziare lo slicing;
  • end è l'indice in cui termina lo slicing (l'indice stesso non è incluso);
  • step specifica l'incremento tra gli indici (il valore predefinito è 1).

Ecco un esempio per chiarire tutto (i quadrati viola rappresentano gli elementi recuperati tramite slicing):

Note
Nota

Poiché non abbiamo specificato esplicitamente step, il valore predefinito è 1.

123456789
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
copy

Omissione di Inizio, Fine e Passo

Come puoi vedere, spesso è possibile omettere start, end, step o anche tutti contemporaneamente. Ad esempio, step può essere omesso quando si desidera che sia uguale a 1. start ed end possono essere omessi nei seguenti casi:

  1. Omissione di start:
    • Slicing dal primo elemento (step positivo);
    • Slicing dall'ultimo elemento (step negativo).
  2. Omissione di end:
    • Slicing fino all'ultimo elemento incluso (step positivo);
    • Slicing fino al primo elemento incluso (step negativo).

Vediamo alcuni altri esempi (la freccia nera indica che gli elementi sono presi in ordine inverso):

1234567891011
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
copy

L'immagine sottostante mostra la struttura dell'array weekly_sales utilizzato nell'esercizio:

Compito

Swipe to start coding

Stai analizzando i dati delle vendite giornaliere di un piccolo negozio al dettaglio. Le vendite dell'ultima settimana sono memorizzate nell'array weekly_sales, con ogni elemento che rappresenta le vendite di un giorno specifico.

  1. Crea uno slice di weekly_sales che includa i dati di vendita di ogni secondo giorno, a partire dal secondo giorno (martedì).
  2. Usa un indice positivo per start e lascia end non specificato.
  3. Memorizza il risultato in alternate_day_sales.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3
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

bookSlicing

Scorri per mostrare il menu

Slicing in Python si riferisce al recupero di elementi da un indice a un altro all'interno di una sequenza. In questo capitolo, tuttavia, ci concentreremo sullo slicing negli array NumPy.

Slicing negli array 1D

La sintassi generale per lo slicing negli array 1D è la seguente: array[start:end:step].

  • start è l'indice da cui iniziare lo slicing;
  • end è l'indice in cui termina lo slicing (l'indice stesso non è incluso);
  • step specifica l'incremento tra gli indici (il valore predefinito è 1).

Ecco un esempio per chiarire tutto (i quadrati viola rappresentano gli elementi recuperati tramite slicing):

Note
Nota

Poiché non abbiamo specificato esplicitamente step, il valore predefinito è 1.

123456789
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
copy

Omissione di Inizio, Fine e Passo

Come puoi vedere, spesso è possibile omettere start, end, step o anche tutti contemporaneamente. Ad esempio, step può essere omesso quando si desidera che sia uguale a 1. start ed end possono essere omessi nei seguenti casi:

  1. Omissione di start:
    • Slicing dal primo elemento (step positivo);
    • Slicing dall'ultimo elemento (step negativo).
  2. Omissione di end:
    • Slicing fino all'ultimo elemento incluso (step positivo);
    • Slicing fino al primo elemento incluso (step negativo).

Vediamo alcuni altri esempi (la freccia nera indica che gli elementi sono presi in ordine inverso):

1234567891011
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
copy

L'immagine sottostante mostra la struttura dell'array weekly_sales utilizzato nell'esercizio:

Compito

Swipe to start coding

Stai analizzando i dati delle vendite giornaliere di un piccolo negozio al dettaglio. Le vendite dell'ultima settimana sono memorizzate nell'array weekly_sales, con ogni elemento che rappresenta le vendite di un giorno specifico.

  1. Crea uno slice di weekly_sales che includa i dati di vendita di ogni secondo giorno, a partire dal secondo giorno (martedì).
  2. Usa un indice positivo per start e lascia end non specificato.
  3. Memorizza il risultato in alternate_day_sales.

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 3
single

single

some-alt