Slicing
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);stepspecifica l'incremento tra gli indici (il valore predefinito è1).
Ecco un esempio per chiarire tutto (i quadrati viola rappresentano gli elementi recuperati tramite slicing):
Poiché non abbiamo specificato esplicitamente step, il valore predefinito è 1.
123456789import 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:])
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:
- Omissione di
start:- Slicing dal primo elemento (
steppositivo); - Slicing dall'ultimo elemento (
stepnegativo).
- Slicing dal primo elemento (
- Omissione di
end:- Slicing fino all'ultimo elemento incluso (
steppositivo); - Slicing fino al primo elemento incluso (
stepnegativo).
- Slicing fino all'ultimo elemento incluso (
Vediamo alcuni altri esempi (la freccia nera indica che gli elementi sono presi in ordine inverso):
1234567891011import 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[:])
L'immagine sottostante mostra la struttura dell'array weekly_sales utilizzato nell'esercizio:
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.
- Crea uno slice di
weekly_salesche includa i dati di vendita di ogni secondo giorno, a partire dal secondo giorno (martedì). - Usa un indice positivo per
starte lasciaendnon specificato. - Memorizza il risultato in
alternate_day_sales.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain how negative steps work in slicing?
What happens if I use a step value greater than 1?
Can you show more examples of slicing with different start and end values?
Fantastico!
Completion tasso migliorato a 3.85
Slicing
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);stepspecifica l'incremento tra gli indici (il valore predefinito è1).
Ecco un esempio per chiarire tutto (i quadrati viola rappresentano gli elementi recuperati tramite slicing):
Poiché non abbiamo specificato esplicitamente step, il valore predefinito è 1.
123456789import 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:])
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:
- Omissione di
start:- Slicing dal primo elemento (
steppositivo); - Slicing dall'ultimo elemento (
stepnegativo).
- Slicing dal primo elemento (
- Omissione di
end:- Slicing fino all'ultimo elemento incluso (
steppositivo); - Slicing fino al primo elemento incluso (
stepnegativo).
- Slicing fino all'ultimo elemento incluso (
Vediamo alcuni altri esempi (la freccia nera indica che gli elementi sono presi in ordine inverso):
1234567891011import 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[:])
L'immagine sottostante mostra la struttura dell'array weekly_sales utilizzato nell'esercizio:
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.
- Crea uno slice di
weekly_salesche includa i dati di vendita di ogni secondo giorno, a partire dal secondo giorno (martedì). - Usa un indice positivo per
starte lasciaendnon specificato. - Memorizza il risultato in
alternate_day_sales.
Soluzione
Grazie per i tuoi commenti!
single