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
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
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!

close

Awesome!

Completion rate improved to 3.7

Scorri per mostrare il menu

some-alt