Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Skapandefunktioner för 1D-arrayer | Numpy-Grunder
Ultimata NumPy

bookSkapandefunktioner för 1D-arrayer

Förutom grundläggande skapande av arrayer genom att explicit ange elementen, möjliggör numpy även automatisk skapande av arrayer med hjälp av speciella funktioner. Här är två av de vanligaste funktionerna för att skapa uteslutande endimensionella arrayer:

  • arange();
  • linspace().

arange()

Funktionen numpy.arange() liknar Pythons inbyggda funktion range(), men returnerar en ndarray. Den skapar i huvudsak en array med jämnt fördelade element inom ett angivet intervall.

Om det angivna intervallet till exempel är från 0 till 10 med ett steg om 2, blir den resulterande arrayen: [0, 2, 4, 6, 8].

Här är dess tre viktigaste parametrar och deras roller:

  1. start:

    • Standardvärde: 0;
    • Representerar första elementet i arrayen.
  2. stop:

    • Inget standardvärde;
    • Definierar slutpunkten, som inte inkluderas i arrayen.
  3. step:

    • Standardvärde: 1;
    • Anger inkrementet som läggs till varje efterföljande element.
12345678910
import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
copy

linspace()

Även om arange() kan användas med reella tal, föredras numpy.linspace() framför numpy.arange() för detta ändamål eftersom arange() kan ge oväntade resultat på grund av flyttalsavrundningsfel vid beräkning av steg. Däremot genererar linspace() ett specifikt antal jämnt fördelade punkter inom ett intervall, vilket säkerställer noggrannhet och konsekvens.

Med linspace() används istället för parametern step parametern num för att ange antalet värden (tal) inom ett givet intervall (standard är 50).

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
copy

Endpoint

Parametern endpoint avgör om värdet stop inkluderas. Som standard är den True (inkluderande). Om den sätts till False exkluderas värdet stop, vilket minskar steglängden något.

Här är en jämförelse mellan array_inclusive och array_exclusive:

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
copy

När endpoint=True delas intervallet [0,1][0, 1] upp i 4 lika stora segment och inkluderar slutpunkten (1), vilket ger en stegstorlek på (10)/4=0.25(1 - 0) / 4 = 0.25.

När endpoint=False delas intervallet [0,1)[0, 1) upp i 5 lika stora segment eftersom slutpunkten utesluts, vilket ger en stegstorlek på (10)/5=0.2(1 - 0) / 5 = 0.2.

Uppgift

Swipe to start coding

  1. Använd funktionen arange() för att skapa arrayen even_numbers.
  2. Ange argumenten för att skapa en array med jämna tal från 2 till 21 exklusive.
  3. Använd lämplig funktion för att skapa arrayen samples, vilket möjliggör att ange antalet värden inom ett givet intervall.
  4. Ange de tre första argumenten för att skapa en array med 10 jämnt fördelade tal mellan 5 och 6.
  5. Säkerställ att 6 inte inkluderas i arrayen samples.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 4
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

close

Awesome!

Completion rate improved to 3.7

bookSkapandefunktioner för 1D-arrayer

Svep för att visa menyn

Förutom grundläggande skapande av arrayer genom att explicit ange elementen, möjliggör numpy även automatisk skapande av arrayer med hjälp av speciella funktioner. Här är två av de vanligaste funktionerna för att skapa uteslutande endimensionella arrayer:

  • arange();
  • linspace().

arange()

Funktionen numpy.arange() liknar Pythons inbyggda funktion range(), men returnerar en ndarray. Den skapar i huvudsak en array med jämnt fördelade element inom ett angivet intervall.

Om det angivna intervallet till exempel är från 0 till 10 med ett steg om 2, blir den resulterande arrayen: [0, 2, 4, 6, 8].

Här är dess tre viktigaste parametrar och deras roller:

  1. start:

    • Standardvärde: 0;
    • Representerar första elementet i arrayen.
  2. stop:

    • Inget standardvärde;
    • Definierar slutpunkten, som inte inkluderas i arrayen.
  3. step:

    • Standardvärde: 1;
    • Anger inkrementet som läggs till varje efterföljande element.
12345678910
import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
copy

linspace()

Även om arange() kan användas med reella tal, föredras numpy.linspace() framför numpy.arange() för detta ändamål eftersom arange() kan ge oväntade resultat på grund av flyttalsavrundningsfel vid beräkning av steg. Däremot genererar linspace() ett specifikt antal jämnt fördelade punkter inom ett intervall, vilket säkerställer noggrannhet och konsekvens.

Med linspace() används istället för parametern step parametern num för att ange antalet värden (tal) inom ett givet intervall (standard är 50).

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
copy

Endpoint

Parametern endpoint avgör om värdet stop inkluderas. Som standard är den True (inkluderande). Om den sätts till False exkluderas värdet stop, vilket minskar steglängden något.

Här är en jämförelse mellan array_inclusive och array_exclusive:

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
copy

När endpoint=True delas intervallet [0,1][0, 1] upp i 4 lika stora segment och inkluderar slutpunkten (1), vilket ger en stegstorlek på (10)/4=0.25(1 - 0) / 4 = 0.25.

När endpoint=False delas intervallet [0,1)[0, 1) upp i 5 lika stora segment eftersom slutpunkten utesluts, vilket ger en stegstorlek på (10)/5=0.2(1 - 0) / 5 = 0.2.

Uppgift

Swipe to start coding

  1. Använd funktionen arange() för att skapa arrayen even_numbers.
  2. Ange argumenten för att skapa en array med jämna tal från 2 till 21 exklusive.
  3. Använd lämplig funktion för att skapa arrayen samples, vilket möjliggör att ange antalet värden inom ett givet intervall.
  4. Ange de tre första argumenten för att skapa en array med 10 jämnt fördelade tal mellan 5 och 6.
  5. Säkerställ att 6 inte inkluderas i arrayen samples.

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 1. Kapitel 4
single

single

some-alt