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

Svep för att visa menyn

book
Skapandefunktioner för 1D-Arrayer

Förutom grundläggande array-skapande genom att explicit ange elementen, tillåter numpy också automatisk array-skapande med hjälp av speciella funktioner. Här är två av de vanligaste funktionerna för att skapa uteslutande 1D-arrayer:

  • arange();

  • linspace().

arange()

Funktionen numpy.arange() är liknande Pythons inbyggda range()-funktion; dock returnerar den en ndarray. I huvudsak skapar den en array med jämnt fördelade element inom ett specificerat intervall.

Till exempel, om det specificerade intervallet är från 0 till 10 med en steglängd på 2, skulle den resulterande arrayen vara: [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 ingår i arrayen.

  3. step:

    • Standardvärde: 1;

    • Anger ökningen 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()

Medan arange() kan arbeta med reella tal, föredras numpy.linspace() över numpy.arange() för detta ändamål eftersom arange() kan ge oväntade resultat på grund av flyttalsprecisionfel vid beräkning av steg. I kontrast genererar linspace() ett specifikt antal jämnt fördelade punkter inom ett intervall, vilket säkerställer noggrannhet och konsekvens.

Med linspace(), istället för step-parametern, finns det en num-parameter som används för att specificera antalet prover (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

endpoint-parametern bestämmer om stop-värdet inkluderas. Som standard är det True (inkluderande). Om det ställs in på False utesluts stop-värdet, vilket något minskar steglängden.

Här är en jämförelse av 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] in i 4 lika segment och inkluderar slutpunkten själv (1), vilket resulterar i en steglängd på (1 - 0) / 4 = 0.25.

När endpoint=False, delas intervallet [0, 1) in i 5 lika segment eftersom slutpunkten är exkluderad, vilket resulterar i en steglängd på (1 - 0) / 5 = 0.2.

Notera

Du kan alltid lära dig mer om dessa funktioner i deras dokumentation: arange, linspace.

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 av jämna tal från 2 till 21 exklusive.
  3. Använd den lämpliga funktionen för att skapa arrayen samples, som tillåter att specificera antalet värden inom ett givet intervall.
  4. Ange de första tre argumenten för att skapa en array av 10 jämnt fördelade tal mellan 5 och 6.
  5. Se till 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
Vi beklagar att något gick fel. Vad hände?

Fråga AI

expand
ChatGPT

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

book
Skapandefunktioner för 1D-Arrayer

Förutom grundläggande array-skapande genom att explicit ange elementen, tillåter numpy också automatisk array-skapande med hjälp av speciella funktioner. Här är två av de vanligaste funktionerna för att skapa uteslutande 1D-arrayer:

  • arange();

  • linspace().

arange()

Funktionen numpy.arange() är liknande Pythons inbyggda range()-funktion; dock returnerar den en ndarray. I huvudsak skapar den en array med jämnt fördelade element inom ett specificerat intervall.

Till exempel, om det specificerade intervallet är från 0 till 10 med en steglängd på 2, skulle den resulterande arrayen vara: [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 ingår i arrayen.

  3. step:

    • Standardvärde: 1;

    • Anger ökningen 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()

Medan arange() kan arbeta med reella tal, föredras numpy.linspace() över numpy.arange() för detta ändamål eftersom arange() kan ge oväntade resultat på grund av flyttalsprecisionfel vid beräkning av steg. I kontrast genererar linspace() ett specifikt antal jämnt fördelade punkter inom ett intervall, vilket säkerställer noggrannhet och konsekvens.

Med linspace(), istället för step-parametern, finns det en num-parameter som används för att specificera antalet prover (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

endpoint-parametern bestämmer om stop-värdet inkluderas. Som standard är det True (inkluderande). Om det ställs in på False utesluts stop-värdet, vilket något minskar steglängden.

Här är en jämförelse av 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] in i 4 lika segment och inkluderar slutpunkten själv (1), vilket resulterar i en steglängd på (1 - 0) / 4 = 0.25.

När endpoint=False, delas intervallet [0, 1) in i 5 lika segment eftersom slutpunkten är exkluderad, vilket resulterar i en steglängd på (1 - 0) / 5 = 0.2.

Notera

Du kan alltid lära dig mer om dessa funktioner i deras dokumentation: arange, linspace.

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 av jämna tal från 2 till 21 exklusive.
  3. Använd den lämpliga funktionen för att skapa arrayen samples, som tillåter att specificera antalet värden inom ett givet intervall.
  4. Ange de första tre argumenten för att skapa en array av 10 jämnt fördelade tal mellan 5 och 6.
  5. Se till 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
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt