Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Skivning | Indexering och Skivning
Ultimata NumPy

bookSkivning

Slicing i Python avser att hämta element från ett index till ett annat inom en sekvens. I detta kapitel fokuserar vi dock på slicing i NumPy-arrayer.

Slicing i 1D-arrayer

Den generella syntaxen för slicing i 1D-arrayer är följande: array[start:end:step].

  • start är indexet där slicingen börjar;
  • end är indexet där slicingen slutar (själva indexet inkluderas inte);
  • step anger stegens intervall mellan index (standardvärdet är 1).

Här är ett exempel för att förtydliga allt (lila rutor representerar de element som hämtas genom slicing):

Note
Notera

Eftersom vi inte uttryckligen angav step, används standardvärdet 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

Utelämna Start, Slut och Steg

Som du kan se kan vi ofta utelämna start, end, step eller till och med alla samtidigt. Till exempel kan step utelämnas när vi vill att det ska vara lika med 1. start och end kan utelämnas i följande scenarier:

  1. Utelämna start:
    • Skivning från det första elementet (step är positivt);
    • Skivning från det sista elementet (step är negativt).
  2. Utelämna end:
    • Skivning till det sista elementet inklusive (step är positivt);
    • Skivning till det första elementet inklusive (step är negativt).

Låt oss titta på några fler exempel (svart pil indikerar att elementen tas i omvänd ordning):

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

Bilden nedan visar strukturen för arrayen weekly_sales som används i uppgiften:

Uppgift

Swipe to start coding

Du analyserar den dagliga försäljningsdatan för en liten butik. Försäljningen för den senaste veckan är lagrad i arrayen weekly_sales, där varje element representerar försäljningen för en specifik dag.

  1. Skapa en slice av weekly_sales som inkluderar försäljningsdata för varannan dag, med start från andra dagen (tisdag).
  2. Använd ett positivt index för start och lämna end ospecificerat.
  3. Spara resultatet i alternate_day_sales.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.7

bookSkivning

Svep för att visa menyn

Slicing i Python avser att hämta element från ett index till ett annat inom en sekvens. I detta kapitel fokuserar vi dock på slicing i NumPy-arrayer.

Slicing i 1D-arrayer

Den generella syntaxen för slicing i 1D-arrayer är följande: array[start:end:step].

  • start är indexet där slicingen börjar;
  • end är indexet där slicingen slutar (själva indexet inkluderas inte);
  • step anger stegens intervall mellan index (standardvärdet är 1).

Här är ett exempel för att förtydliga allt (lila rutor representerar de element som hämtas genom slicing):

Note
Notera

Eftersom vi inte uttryckligen angav step, används standardvärdet 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

Utelämna Start, Slut och Steg

Som du kan se kan vi ofta utelämna start, end, step eller till och med alla samtidigt. Till exempel kan step utelämnas när vi vill att det ska vara lika med 1. start och end kan utelämnas i följande scenarier:

  1. Utelämna start:
    • Skivning från det första elementet (step är positivt);
    • Skivning från det sista elementet (step är negativt).
  2. Utelämna end:
    • Skivning till det sista elementet inklusive (step är positivt);
    • Skivning till det första elementet inklusive (step är negativt).

Låt oss titta på några fler exempel (svart pil indikerar att elementen tas i omvänd ordning):

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

Bilden nedan visar strukturen för arrayen weekly_sales som används i uppgiften:

Uppgift

Swipe to start coding

Du analyserar den dagliga försäljningsdatan för en liten butik. Försäljningen för den senaste veckan är lagrad i arrayen weekly_sales, där varje element representerar försäljningen för en specifik dag.

  1. Skapa en slice av weekly_sales som inkluderar försäljningsdata för varannan dag, med start från andra dagen (tisdag).
  2. Använd ett positivt index för start och lämna end ospecificerat.
  3. Spara resultatet i alternate_day_sales.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3
single

single

some-alt