Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Skabelsesfunktioner for 1D-Arrays | NumPy Grundlæggende
Ultimativ NumPy

Stryg for at vise menuen

book
Skabelsesfunktioner for 1D-Arrays

Udover grundlæggende array-oprettelse ved eksplicit at specificere elementerne, tillader numpy også automatisk array-oprettelse ved hjælp af specielle funktioner. Her er to af de mest almindelige funktioner til at oprette udelukkende 1D-arrays:

  • arange();

  • linspace().

arange()

Funktionen numpy.arange() ligner Pythons indbyggede range() funktion; dog returnerer den en ndarray. Grundlæggende skaber den et array med jævnt fordelte elementer inden for et specificeret interval.

For eksempel, hvis det specificerede interval er fra 0 til 10 med en trin størrelse på 2, vil det resulterende array være: [0, 2, 4, 6, 8].

Her er de tre vigtigste parametre og deres roller:

  1. start:

    • Standardværdi: 0;

    • Repræsenterer det første element i arrayet.

  2. stop:

    • Ingen standardværdi;

    • Definerer slutpunktet, som ikke er inkluderet i arrayet.

  3. step:

    • Standardværdi: 1;

    • Angiver inkrementet, der tilføjes til hvert efterfølgende 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()

Mens arange() kan arbejde med reelle tal, foretrækkes numpy.linspace() frem for numpy.arange() til dette formål, fordi arange() kan give uventede resultater på grund af flydende-punkt præcisionsfejl ved beregning af trin. I modsætning hertil genererer linspace() et specifikt antal jævnt fordelte punkter inden for et interval, hvilket sikrer nøjagtighed og konsistens.

Med linspace(), i stedet for step parameteren, er der en num parameter, der bruges til at specificere antallet af prøver (tal) inden for et givet interval (standard er 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 parameteren bestemmer, om stop værdien er inkluderet. Som standard er den True (inkluderende). Hvis den sættes til False, udelukkes stop værdien, hvilket reducerer trin størrelsen en smule.

Her er en sammenligning af array_inclusive og 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, er intervallet [0, 1] opdelt i 4 lige store segmenter og inkluderer endpoint selv (1), hvilket resulterer i en trinlængde på (1 - 0) / 4 = 0.25.

Når endpoint=False, er intervallet [0, 1) opdelt i 5 lige store segmenter da endpoint er ekskluderet, hvilket resulterer i en trinlængde på (1 - 0) / 5 = 0.2.

Bemærk

Du kan altid lære mere om disse funktioner i deres dokumentation: arange, linspace.

Opgave

Swipe to start coding

  1. Brug arange() funktionen til at oprette even_numbers arrayet.
  2. Angiv argumenterne for at oprette et array af lige tal fra 2 til 21 eksklusiv.
  3. Brug den passende funktion til at oprette samples arrayet, som tillader at specificere antallet af værdier inden for et givet interval.
  4. Angiv de første tre argumenter for at oprette et array af 10 lige store tal mellem 5 og 6.
  5. Sørg for, at 6 ikke er inkluderet i samples arrayet.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 4
Vi beklager, at noget gik galt. Hvad skete der?

Spørg AI

expand
ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

book
Skabelsesfunktioner for 1D-Arrays

Udover grundlæggende array-oprettelse ved eksplicit at specificere elementerne, tillader numpy også automatisk array-oprettelse ved hjælp af specielle funktioner. Her er to af de mest almindelige funktioner til at oprette udelukkende 1D-arrays:

  • arange();

  • linspace().

arange()

Funktionen numpy.arange() ligner Pythons indbyggede range() funktion; dog returnerer den en ndarray. Grundlæggende skaber den et array med jævnt fordelte elementer inden for et specificeret interval.

For eksempel, hvis det specificerede interval er fra 0 til 10 med en trin størrelse på 2, vil det resulterende array være: [0, 2, 4, 6, 8].

Her er de tre vigtigste parametre og deres roller:

  1. start:

    • Standardværdi: 0;

    • Repræsenterer det første element i arrayet.

  2. stop:

    • Ingen standardværdi;

    • Definerer slutpunktet, som ikke er inkluderet i arrayet.

  3. step:

    • Standardværdi: 1;

    • Angiver inkrementet, der tilføjes til hvert efterfølgende 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()

Mens arange() kan arbejde med reelle tal, foretrækkes numpy.linspace() frem for numpy.arange() til dette formål, fordi arange() kan give uventede resultater på grund af flydende-punkt præcisionsfejl ved beregning af trin. I modsætning hertil genererer linspace() et specifikt antal jævnt fordelte punkter inden for et interval, hvilket sikrer nøjagtighed og konsistens.

Med linspace(), i stedet for step parameteren, er der en num parameter, der bruges til at specificere antallet af prøver (tal) inden for et givet interval (standard er 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 parameteren bestemmer, om stop værdien er inkluderet. Som standard er den True (inkluderende). Hvis den sættes til False, udelukkes stop værdien, hvilket reducerer trin størrelsen en smule.

Her er en sammenligning af array_inclusive og 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, er intervallet [0, 1] opdelt i 4 lige store segmenter og inkluderer endpoint selv (1), hvilket resulterer i en trinlængde på (1 - 0) / 4 = 0.25.

Når endpoint=False, er intervallet [0, 1) opdelt i 5 lige store segmenter da endpoint er ekskluderet, hvilket resulterer i en trinlængde på (1 - 0) / 5 = 0.2.

Bemærk

Du kan altid lære mere om disse funktioner i deres dokumentation: arange, linspace.

Opgave

Swipe to start coding

  1. Brug arange() funktionen til at oprette even_numbers arrayet.
  2. Angiv argumenterne for at oprette et array af lige tal fra 2 til 21 eksklusiv.
  3. Brug den passende funktion til at oprette samples arrayet, som tillader at specificere antallet af værdier inden for et givet interval.
  4. Angiv de første tre argumenter for at oprette et array af 10 lige store tal mellem 5 og 6.
  5. Sørg for, at 6 ikke er inkluderet i samples arrayet.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 4
Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Vi beklager, at noget gik galt. Hvad skete der?
some-alt