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

Scorri per mostrare il menu

book
Fetta

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 di NumPy.

Slicing in Array 1D

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

  • start è l'indice a cui iniziare lo slicing;

  • end è l'indice a cui termina lo slicing (l'indice stesso non è incluso);

  • step specifica gli incrementi tra gli indici (il valore predefinito è 1).

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

Nota

Poiché non abbiamo specificato esplicitamente step, assume un valore predefinito di 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

Omettere Inizio, Fine e Passo

Come puoi vedere, possiamo spesso omettere start, end, step, o anche tutti contemporaneamente. Ad esempio, step può essere omesso quando vogliamo che sia uguale a 1. start e end possono essere omessi nei seguenti scenari:

  1. Omettere start:

    • Slicing dal primo elemento (step è positivo);

    • Slicing dall'ultimo elemento (step è negativo).

  2. Omettere end:

    • Slicing fino all'ultimo elemento incluso (step è positivo);

    • Slicing fino al primo elemento incluso (step è negativo).

Diamo un'occhiata a qualche altro esempio (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 qui sotto mostra la struttura dell'array weekly_sales utilizzato nel compito:

Compito

Swipe to start coding

Stai analizzando i dati di vendita giornalieri di un piccolo negozio al dettaglio. Le vendite della settimana passata sono memorizzate nell'array weekly_sales, con ogni elemento che rappresenta le vendite di un giorno specifico.

  1. Crea una slice di weekly_sales che includa i dati di vendita per ogni secondo giorno, a partire dal secondo giorno (martedì).

  2. Usa un indice positivo per l'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

Chieda ad AI

expand
ChatGPT

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

book
Fetta

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 di NumPy.

Slicing in Array 1D

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

  • start è l'indice a cui iniziare lo slicing;

  • end è l'indice a cui termina lo slicing (l'indice stesso non è incluso);

  • step specifica gli incrementi tra gli indici (il valore predefinito è 1).

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

Nota

Poiché non abbiamo specificato esplicitamente step, assume un valore predefinito di 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

Omettere Inizio, Fine e Passo

Come puoi vedere, possiamo spesso omettere start, end, step, o anche tutti contemporaneamente. Ad esempio, step può essere omesso quando vogliamo che sia uguale a 1. start e end possono essere omessi nei seguenti scenari:

  1. Omettere start:

    • Slicing dal primo elemento (step è positivo);

    • Slicing dall'ultimo elemento (step è negativo).

  2. Omettere end:

    • Slicing fino all'ultimo elemento incluso (step è positivo);

    • Slicing fino al primo elemento incluso (step è negativo).

Diamo un'occhiata a qualche altro esempio (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 qui sotto mostra la struttura dell'array weekly_sales utilizzato nel compito:

Compito

Swipe to start coding

Stai analizzando i dati di vendita giornalieri di un piccolo negozio al dettaglio. Le vendite della settimana passata sono memorizzate nell'array weekly_sales, con ogni elemento che rappresenta le vendite di un giorno specifico.

  1. Crea una slice di weekly_sales che includa i dati di vendita per ogni secondo giorno, a partire dal secondo giorno (martedì).

  2. Usa un indice positivo per l'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
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt